সমস্ত স্টোরেজ ধরণের মধ্যে এক পর্যায়ে কিছু সঞ্চয় করা এবং পরে তা পুনরুদ্ধার করা জড়িত। কেবলমাত্র একটি অপারেশনে এটি করার জন্য, আপনাকে হয় স্বয়ংক্রিয়ভাবে সঞ্চয় বা পুনরুদ্ধার করা উচিত এবং অন্য ক্রিয়াকলাপে সঞ্চিত মানের অবস্থান নির্দিষ্ট করা উচিত।
এটি হ'ল সুস্পষ্ট স্টোরেজের জন্য, আপনি এই অপারেশনের আগে নবম গণনা করা মানটি পুনরুদ্ধার করতে একটি অপারেটর তৈরি করতে পারেন বা এন ক্রিয়াকলাপের পরে বর্তমান মানটি পিছনে রাখতে পারেন। বিকল্পভাবে, আপনি প্রোগ্রামের শুরু থেকেই নিখুঁত অবস্থানটি ব্যবহার করতে পারেন, বা আরও কিছু কাজ যেমন কিছু ক্রিয়াকলাপের পরে কিছু উপাদান স্বয়ংক্রিয়ভাবে অপসারণ করা (যেমন স্ট্যাকের মতো)। আপনি স্বয়ংক্রিয় ক্রিয়াকলাপগুলি ছাড়াই বা ছাড়াই স্টোরেজের বিভিন্ন অনুলিপি থেকে একাধিক অপারেটর তৈরি করতে পারেন। এবং অপারেশনগুলিতে যুক্তিসঙ্গতভাবে ছোট করার জন্য প্রয়োজনীয় সর্বোচ্চ সংখ্যাটি তৈরি করার চেষ্টা করা উচিত, যাতে আপনি প্রতিটি সংখ্যার জন্য একজন করে অপারেটর নিযুক্ত করতে পারেন।
তবে বেশিরভাগ ক্ষেত্রে আপনার এমনকি অপারেটরেরও দরকার নেই এবং ভাষা এটি স্পষ্টভাবে করবে। আপনি যখন স্ট্যাক বা সারিগুলির মতো আরও মানসম্পন্ন মডেলটি বিবেচনা করতে পারেন তখনই এটি হয়। আপাতত সর্বাধিক সফল হ'ল স্পষ্ট প্রোগ্রামিং বলে মনে হচ্ছে, যা সরাসরি স্টোরেজটিরও উল্লেখ করে না।
আপনি যদি এই জাতীয় কোনও নতুন মডেল ডিজাইন করতে চান, আপনি মূল্যায়নগুলি ড্যাগ হিসাবে প্রসারিত করার চেষ্টা করতে পারেন এবং অন্য কিছু নির্দিষ্ট না থাকলে ডিফল্ট ড্যাগের কথা ভাবার চেষ্টা করতে পারেন। সম্ভবত, ডিফল্টটি কেবলমাত্র একটি গাছ, একাধিক পাতাগুলি ব্যতীত একই ইনপুটটির সাথে যুক্ত হতে পারে। উদাহরণস্বরূপ আপনি ভারসাম্য গাছের জন্য একটি সারি বা একটি গভীর গাছের জন্য স্ট্যাক ব্যবহার করতে পারেন যেখানে পাতা বেশিরভাগ ধ্রুবক বা জেলির মতো কোনও গভীর গাছ যেখানে পাতা বেশিরভাগ ইনপুটটির অনুলিপি থাকে।
তবে মনে রাখবেন যে, আপনি বাইনারি গাছের আকারটি অপারেটর প্রতি মাত্র 2 বিটের মধ্যে এনকোড করতে পারেন। সুতরাং, যদি আপনার ভাষাতে than৪ টিরও কম অপারেটর থাকে, আপনি আসলে theতিহ্যবাহী মডেলগুলিকে উপেক্ষা করতে পারেন এবং কেবলমাত্র অতিরিক্ত গাছগুলিতে সম্পূর্ণ গাছটিকে এনকোড করতে পারেন (তাদের সংযুক্ত করুন প্যারেন্ট এবং নীচে_ বাম পতাকাগুলি)। আরও বেশি অপারেটর থাকলেও আপনি এটির পরিবর্তনের জন্য মোটামুটি ভাল ডিফল্ট (যেমন জেলি মডেল) এবং 3 টি পরিবর্তনকারী তৈরি করতে পারেন make
সুবিধার জন্য আপনি একই মডেলটি অন্তর্নিহিত এবং স্পষ্ট স্টোরেজ ব্যবহার করতে পারেন, তবে আপনার দরকার নেই। উদাহরণস্বরূপ, আপনি অন্তর্নিহিত স্টোরেজ জন্য একটি স্ট্যাক ব্যবহার করতে পারেন, কিন্তু সুস্পষ্ট স্টোরেজ মধ্যে উপাদান পপ করবেন না (বা অন্তর্নিহিত পৃথক পৃথক পৃথক স্টোরেজ)। এটি সম্ভবত চূড়ান্ত ডকুমেন্টেশনের স্ট্যাক বলা হবে না, তবে আপনি ধারণা পাবেন।
রেফারেন্সের জন্য, বাইনারি গাছের নিখুঁত এনকোডিংয়ের আকার হ'ল কাতালান সংখ্যার লগারিদম । এবং "বাইনারি" ড্যাগের নিখুঁত এনকোডিংয়ের আকার হ'ল A082161 এর লগারিদম , তবে অবশ্যই অবাস্তব। এটি পৃথক যুক্তি অর্ডার সহ দুটি অপারেটরকে অপারেটর হিসাবে ধরে নিয়েছে, যখন এটি না হয় তখন অন্য বিট যোগ করে।
কখনও কখনও আপনি লুপগুলির জন্য এখনও ভেরিয়েবলগুলি পেতে পারেন। লুপগুলি অন্য উপায়ে আবারও লেখা সম্ভব হতে পারে। তবে আপনার যদি সত্যিই এটির প্রয়োজন হয় তবে ভেরিয়েবলটি সংজ্ঞায়িত করতে নামের সাথে একটি 1-বাইট কনস্ট্রাক্ট ব্যবহার করবেন না। আপনি যদি কেবল পূর্বনির্ধারিত মানগুলি ব্যবহার না করেন তবে আপনি এই ভেরিয়েবলটি পড়ছেন বা লিখছেন কিনা তা উল্লেখ করার জন্য সাধারণত 1-বিট পতাকা ব্যবহার করা আরও দক্ষ।