8
การเข้ารหัสต้นไม้แบบไบนารี
สมมติว่าคุณมีต้นไม้ไบนารีที่สมบูรณ์ (เช่นแต่ละโหนดภายในมีสองลูกหลานที่ไม่ว่างเปล่า) แต่ละโหนดมีจำนวนเต็มไม่ใช่ศูนย์ คุณได้รับภารกิจการเข้ารหัสและถอดรหัสทรีลงใน / จากรายการจำนวนเต็ม ต้นไม้ถูกเก็บไว้ภายในสิ่งที่ชอบ: struct node { int data; struct node *left, *right; }; และคุณต้องใช้สองฟังก์ชั่น: int *encode(struct node *root); struct node *decode(int *array); มันขึ้นอยู่กับคุณว่าคุณเข้ารหัสและถอดรหัสอย่างไร คะแนนสำหรับ: ความยาวการเข้ารหัสขั้นต่ำ ความซับซ้อน (นึกคิดเชิงเส้นในจำนวนโหนด) ความคิดริเริ่ม ไม่มีคะแนนสำหรับความยาวซอร์สโค้ดและคุณไม่ได้ถูก จำกัด ไว้ที่ C ตัวอย่างต้นไม้: 5 / \ 3 2 / \ 2 1 / \ 9 9