একটি ট্রি বিল্ডিং অ্যালগরিদম রিফ্যাক্টর করুন।
কিছু ওয়েব ফোরামে ট্রি লেআউট থাকে, তাই পোস্টগুলো ট্রি আকারে দেখানো হয়। তবে পোস্টগুলো সাধারণত ডেটাবেজে সাজানো নেই এমন একগুচ্ছ রেকর্ড হিসেবে জমা থাকে। তাই ব্যবহারকারীকে পোস্টগুলো দেখানোর সময় ট্রি স্ট্রাকচারটি নতুন করে তৈরি করতে হয়।
আপনার কাজ হবে এমন একটি কোড রিফ্যাক্টর করা, যা কাজ করে কিন্তু ধীর ও কুৎসিত, আর অত্যন্ত অ্যাবস্ট্র্যাক্টেড রেকর্ডের জন্য ট্রি বিল্ডিং লজিক বাস্তবায়ন করে। রেকর্ডগুলোতে শুধু একটি ID নম্বর ও একটি প্যারেন্ট ID নম্বর থাকে। ID নম্বরটি সর্বদা 0 (সহ) থেকে রেকর্ড অ্যারের দৈর্ঘ্যের (অসহ) মধ্যে থাকে। রুট রেকর্ড ছাড়া বাকি সব রেকর্ডের প্যারেন্ট ID তাদের নিজের ID থেকে ছোট। আর রুট রেকর্ডের প্যারেন্ট ID তার নিজের ID-এর সমান।
একটি উদাহরণ ট্রি:
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)
Exercism-এ সাইন আপ করুন, Visual Basic ট্র্যাকের 113টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।