Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลิตภัณฑ์ของโหนดที่ระดับ k-th ในทรีที่แสดงเป็นสตริงใน C++


กำหนดให้กับโหนดโหนดที่มีข้อมูลในรูปแบบสตริงและภารกิจคือค้นหาผลิตภัณฑ์ของโหนดที่ระดับ k ในไบนารีทรี ทุกโหนดของทรีมีสามสิ่ง ได้แก่ ส่วนข้อมูล ตัวชี้ด้านซ้ายสำหรับทรีย่อยด้านซ้าย และตัวชี้ด้านขวาสำหรับทรีย่อยด้านขวา

ระดับของไบนารีทรีเริ่มต้นจากหมายเลข 0 และสามารถไปถึง 'n' ซึ่งจะเป็นจำนวนบวกใดๆ ก็ได้ ดังนั้นเราจึงได้รับระดับ 'k' และโปรแกรมจะต้องคำนวณผลคูณของโหนดที่ระดับ 'k' ที่กำหนด

ในไบนารีทรี ถ้าสมมุติว่าเราได้รับค่า k=2

ดังนั้นโหนดที่ระดับ 2 คือ − 40, 50, 60

สินค้า=40*50*60 =1,20,000

ผลิตภัณฑ์ของโหนดที่ระดับ k-th ในทรีที่แสดงเป็นสตริงใน C++

ป้อนข้อมูล

(1(2(3()())(4()(5()())))(6(7()())(8()())))K =1 

ผลผลิต

ผลิตภัณฑ์ของโหนดที่ระดับ k =12

ป้อนข้อมูล

<ก่อน>(0(5(6()())(4()(9()())))(7(1()())(3()())))"k =2

ผลผลิต

ผลิตภัณฑ์ของโหนดที่ระดับ k =72

อัลกอริทึม

StartStep 1→ Declare function เพื่อคำนวณโหนดที่ผลิตภัณฑ์ int ระดับ k (string tree, int k) ประกาศระดับ int =-1 ประกาศผลิตภัณฑ์ int =1 ประกาศขนาด int =tree.length() วนรอบสำหรับ int i =0 และ i  

ตัวอย่าง

#include using namespace std;//finding product at kth levelint product (string tree, int k){ int level =-1; 
#include ใช้เนมสเปซ std;// ค้นหาผลิตภัณฑ์ที่ระดับ kth ผลิตภัณฑ์ int =1; ขนาด int =tree.length(); สำหรับ (int i =0; i