Được đưa ra với cây các nút với dữ liệu ở định dạng chuỗi và nhiệm vụ là tìm tích của các nút ở mức thứ k trong một cây nhị phân. Mỗi nút của cây chứa ba thứ, tức là phần dữ liệu, con trỏ bên trái cho cây con bên trái và con trỏ bên phải cho cây con bên phải.
Mức của cây nhị phân bắt đầu từ số 0 và nó có thể đi đến ‘n’, có thể là bất kỳ số dương nào. Vì vậy, chúng ta được cung cấp với mức ‘k’ và chương trình phải tính tích số của các nút ở mức ‘k’ đã cho.
Trong cây nhị phân, giả sử chúng ta được cho với giá trị k =2
Vì vậy, các nút ở cấp 2 là - 40, 50, 60
Sản phẩm =40 * 50 * 60 =1.20.000
Đầu vào
(1 (2 (3 () ()) (4 () (5 () ()))) (6 (7 () ()) (8 () ()))) K =1Đầu ra
tích của các nút ở cấp k =12Đầu vào
(0 (5 (6 () ()) (4 () (9 () ()))) (7 (1 () ()) (3 () ()))) "k =2Đầu ra
tích của các nút ở cấp k =72Thuật toán
StartBước 1 → Khai báo hàm tính toán các nút ở mức thứ k int product (string tree, int k) Khai báo int level =-1 Khai báo int product =1 Khai báo int size =tree.length () Loop For int i =0 và iVí dụ
#includeusing namespace std; // tìm sản phẩm ở sản phẩm cấp thứ k (cây chuỗi, int k) {int level =-1; int product =1; int size =tree.length (); for (int i =0; i