3
อัลกอริทึมเพื่อทดสอบว่าต้นไม้ไบนารีเป็นต้นไม้ค้นหาและนับสาขาเสร็จสมบูรณ์หรือไม่
ฉันต้องสร้างอัลกอริทึมแบบเรียกซ้ำเพื่อดูว่าต้นไม้ไบนารีเป็นต้นไม้ค้นหาแบบไบนารีรวมทั้งนับจำนวนสาขาที่สมบูรณ์ (โหนดแม่ที่มีโหนดลูกทั้งซ้ายและขวา) พร้อมตัวแปรการนับทั่วโลก นี่คือการมอบหมายสำหรับคลาสโครงสร้างข้อมูลของฉัน จนถึงตอนนี้ฉันมี void BST(tree T) { if (T == null) return if ( T.left and T.right) { if (T.left.data < T.data or T.right.data > T.data) { count = count + 1 BST(T.left) BST(T.right) } } } แต่ฉันไม่สามารถหาอันนี้ได้ ฉันรู้ว่าอัลกอริทึมนี้จะไม่แก้ปัญหาเพราะการนับจะเป็นศูนย์ถ้าที่สองถ้าคำสั่งไม่เป็นความจริง ใครช่วยฉันออกจากนี้