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

ডেটা স্ট্রাকচরে হাইট লিমিটেড হাফম্যান ট্রি

হাইট লিমিটেড বা ডেপথ লিমিটেড হাফম্যান ট্রির ডায়াগ্রাম নিচে দেওয়া হলো

ডেটা স্ট্রাকচরে হাইট লিমিটেড হাফম্যান ট্রি

ট্রি ডেপথ লিমিটেশন একটি নন-ট্রিভিয়াল ইশু যা অধিকাংশ রিয়েল-ওয়ার্ল্ড হাফম্যান বাস্তবায়ন মোকাবিলা করতে হয়।

হাফম্যান কনস্ট্রাকশন হাইট বা ডেপথ লিমিট করে না। যদি করত, তবে এটি "অপ্টিমাল" হতে পারত না। মঞ্জুর, একটি হাফম্যান ট্রির সর্বোচ্চ ডেপথ ফিবোনাচ্চি সিরিজ দ্বারা বাউন্ডেড, কিন্তু এতে চাইয়া বেশি ডেপথের জন্য যথেষ্ট রুম থাকে।

হাফম্যান ট্রি ডেপথ লিমিট করার কারণ কী? ফাস্ট হাফম্যান ডিকোডার লুকআপ টেবিল ব্যবহার করে। একাধিক টেবিল লেভেল বাস্তবায়ন করা সম্ভব মেমরি কস্ট কমাতে, কিন্তু খুব ফাস্ট ডিকোডার যেন Huff0 একটি সিঙ্গেল টেবিলের জন্য যায়, সিম্পলিসিটি এবং স্পীড উভয়ই জন্য। সেক্ষেত্রে টেবিল সাইজ ট্রি ডেপথের ডাইরেক্ট প্রোডাক্ট (tablesize = 1 <<treeDepth)।

স্পীড এবং মেমরি ম্যানেজমেন্টের সুবিধার্থে, একটি লিমিট বাছাই করতে হয়েছিল: এটা ৮ KB ডিকোডিং টেবিলের জন্য, যা খুব সুন্দরভাবে ফিট হয় Intel-এর L1 ক্যাশে, এবং অন্য টেবিলের সাথে কম্বাইন করার কিছু রুম ছাড়ায়। যেহেতু লেটেস্ট ডিকোডিং টেবিল সেল প্রতি ২ বাইট ব্যবহার করে, এতে ৪K সেলে রূপান্তরিত হয়, অতএব সর্বোচ্চ ট্রি ডেপথ ১২ বিট।

লিটারেল কমপ্রেস করার জন্য ১২ বিট সাধারণত খুব ছোট, কমপক্ষে অপ্টিমাল হাফম্যান কনস্ট্রাকশন অনুযায়ী।

একটি ডেপথ-লিমিটেড ট্রি কনস্ট্রাক্ট করা তাই একটি প্র্যাকটিক্যাল ইশু যা সমাধান করতে হয়।

ডেপথ-লিমিটেড হাফম্যান ট্রি ১৯৬০-এর দশক থেকে অধ্যয়ন করা হয়েছে, তাই অনেক লিটারেচার উপলব্ধ।

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

  2. ডেটা স্ট্রাকচরে BSP ট্রি

  3. ডেটা স্ট্রাকচরে রেঞ্জ ট্রি

  4. ডেটা স্ট্রাকচরে হাইট লিমিটেড হাফম্যান ট্রি