কম্পিউটার টিউটোরিয়াল

ট্রির লেফট-চাইল্ড রাইট-সিবলিং রিপ্রেজেন্টেশন


লেফট-চাইল্ড রাইট-সিবলিং রিপ্রেজেন্টেশন হল একটি n-এরি ট্রির ভিন্ন রিপ্রেজেন্টেশন যেখানে প্রতিটি চাইল্ড নোডের পয়েন্টার রাখার বদলে, একটি নোড শুধু দুটি পয়েন্টার ধারণ করে—প্রথমটিই তার প্রথম চাইল্ডের পয়েন্টার, এবং দ্বিতীয়টিই তার即時 নেক্স্ট সিবলিংর পয়েন্টার। এই নতুন ট্রান্সফরমেশন শুধু একটি নোড কতগুলো চাইল্ড 가질 수 있는지 তা জানার প্রয়োজন নেই বরং পয়েন্টারের সর্বোচ্চ সংখ্যা দুটি করে সীমাবদ্ধ করে, তাই কোডিং অনেক সহজ হয়।

প্রতিটি নোডে, একই প্যারেন্টের চাইল্ডগুলোর বাম থেকে ডানে লিংক বা কানেক্ট করুন।

প্যারেন্টকে শুধু প্রথম চাইল্ডের সাথে লিংক করা উচিত।

উদাহরণ

লেফট চাইল্ড রাইট সিবলিং ট্রি রিপ্রেজেন্টেশন

10 | 2 -> 3 -> 4 -> 5 | | 6 7 -> 8 -> 9

সুবিধা

  • এই রিপ্রেজেন্টেশন প্রতি নোডে সর্বোচ্চ দুটি পয়েন্টার সীমাবদ্ধ করে মেমরি বাঁচায়।
  • এটি কোড করা সহজ।

অসুবিধা

  • সার্চিং/ইনসারশন/ডিলিশনের মতো বেসিক অপারেশন বেশি সময় নেয় কারণ সঠিক পজিশন বের করার জন্য নোডের সব সিবলিং ট্রাভার্স করতে হয় (ওয়ার্স্ট কেস অনুযায়ী)।
  1. বাইনারি ট্রির বাউন্ডারি ট্রাভার্সাল C++-এ

  2. C++-এ N-ary ট্রিকে বাইনারি ট্রিতে এনকোড এবং ডিসিরিয়ালাইজ করা

  3. ডেটা স্ট্রাকচারে বাইনারি ট্রি ট্রাভার্সাল

  4. ডেটা স্ট্রাকচারে বাইনারি ট্রি রিপ্রেজেন্টেশন