2
ต้นไม้เหล่านี้มีรูปร่างผิดปกติหรือไม่?
บทนำ ในการท้าทายนี้งานของคุณคือการเขียนโปรแกรมที่ตัดสินว่าต้นไม้ที่ให้มาสองต้นนั้นเป็น isomorphic หรือไม่ ทรีหมายถึงกราฟที่กำหนดทิศทางโดยที่ทุกโหนดมีขอบขาออกเดียวยกเว้นรูทซึ่งไม่มี ต้นไม้สองต้น isomorphic หากสามารถแปลงเป็นต้นไม้อื่นได้โดยเปลี่ยนชื่อโหนด ตัวอย่างเช่นต้นไม้สองต้น (ที่ขอบทุกจุดชี้ขึ้น) 0 0 /|\ /|\ 1 3 4 1 2 5 |\ /| 2 5 3 4 จะเห็นได้อย่างง่ายดายว่าเป็น isomorphic เราเข้ารหัสต้นไม้เป็นรายการLของจำนวนเต็ม nonnegative ในวิธีต่อไปนี้ รากของต้นไม้ที่มีฉลากและก็ยังมีโหนด0 1,2,...,length(L)แต่ละโหนดi > 0มีขอบออกไปถึงL[i](โดยใช้การจัดทำดัชนีแบบ 1 ฐาน) ตัวอย่างเช่นรายการ (พร้อมดัชนีที่ให้ไว้ภายใต้องค์ประกอบ) [0,0,1,3,2,2,5,0] 1 2 3 4 5 6 7 8 เข้ารหัสต้นไม้ 0 …