یک الگوریتم ساخت درخت را بازآرایی کنید.
برخی انجمنهای وب چیدمان درختی دارند، بنابراین پستها به شکل یک درخت نمایش داده میشوند. اما پستها معمولاً در یک پایگاه داده بهصورت مجموعهای مرتبنشده از رکوردها ذخیره میشوند. بنابراین هنگام نمایش پستها به کاربر، ساختار درخت باید از نو ساخته شود.
کار شما این است که تکهکدی را بازآرایی کنید که کار میکند اما کند و زشت است و منطق ساخت درخت را برای رکوردهای بهشدت انتزاعی پیادهسازی میکند. رکوردها فقط شامل یک شناسه و یک شناسهی والد هستند. شناسه همیشه بین ۰ (شامل) و طول فهرست رکوردها (غیرشامل) است. شناسهی والد همهی رکوردها از شناسهی خودشان کمتر است، بهجز رکورد ریشه که شناسهی والدش با شناسهی خودش برابر است.
یک نمونه درخت:
root (ID: 0, parent ID: 0)
|-- child1 (ID: 1, parent ID: 0)
| |-- grandchild1 (ID: 2, parent ID: 1)
| +-- grandchild2 (ID: 4, parent ID: 1)
+-- child2 (ID: 3, parent ID: 0)
| +-- grandchild3 (ID: 6, parent ID: 3)
+-- child3 (ID: 5, parent ID: 0)