Retrieval Data Structure
কম্পিউটার বিজ্ঞানে, একটি পুনরুদ্ধার ডেটা স্ট্রাকচার, যা স্ট্যাটিক ফাংশন নামেও পরিচিত, একটি স্থান-দক্ষ অভিধানের মতো ডেটা টাইপ যা (কী, মান) জোড়ার সংগ্রহের সমন্বয়ে গঠিত যা নিম্নলিখিত ক্রিয়াকলাপগুলির অনুমতি দেয়ঃ (কী, মান) জোড়ার সংগ্রহ থেকে নির্মাণ প্রদত্ত কী বা যে কোনও কিছুর সাথে সম্পর্কিত মান পুনরুদ্ধার করুন যদি কীটি সংগ্রহে না থাকে তবে একটি কী (ঐচ্ছিক) এর সাথে সম্পর্কিত মান আপডেট করুন এগুলি একটি মহাবিশ্বের জন্য একটি ফাংশন এবং কীগুলির সেট হিসাবেও ভাবা যেতে পারে যেখানে পুনরুদ্ধারকে যে কোনও মান এবং অন্যথায় থেকে একটি নির্বিচারে মানের জন্য ফিরে আসতে হয়। স্ট্যাটিক ফাংশনের বিপরীতে, এএমকিউ-ফিল্টারগুলি সমর্থন করে (সম্ভাব্য) সদস্যপদ প্রশ্ন এবং অভিধানগুলি অতিরিক্তভাবে কীগুলি তালিকাভুক্ত করার বা কোনও কী-এর সাথে সম্পর্কিত মানটি সন্ধান করার এবং কীটি না থাকলে অন্য কোনও প্রতীক ফেরত দেওয়ার মতো ক্রিয়াকলাপের অনুমতি দেয়। অপারেশনগুলি থেকে পাওয়া যায়, এই তথ্য কাঠামোর জন্য কীগুলি সংরক্ষণ করার প্রয়োজন হয় না এবং প্রকৃতপক্ষে মূল মান জোড়াগুলির একটি সহজ তালিকার জন্য প্রয়োজনের চেয়ে কম জায়গা ব্যবহার করতে পারে। এটি এমন পরিস্থিতিতে এটিকে আকর্ষণীয় করে তোলে যেখানে সম্পর্কিত ডেটা ছোট (যেমন। কয়েকটি বিট) কীগুলির তুলনায় কারণ আমরা কীগুলির দ্বারা ব্যবহৃত স্থান হ্রাস করে অনেক সঞ্চয় করতে পারি। একটি সহজ উদাহরণ দেওয়ার জন্য ধরুন ভিডিও গেমের নামগুলি একটি বুলিয়ান দিয়ে ব্যাখ্যা করা হয়েছে যা ইঙ্গিত করে যে গেমটিতে একটি কুকুর রয়েছে যা পোষ্য করা যেতে পারে। এই ডাটাবেস থেকে নির্মিত একটি স্থির ফাংশন মূল সেটে থাকা সমস্ত নামের জন্য সংশ্লিষ্ট পতাকা এবং অন্যান্য নামের জন্য একটি স্বেচ্ছাচারী পতাকা পুনরুত্পাদন করতে পারে। এই স্ট্যাটিক ফাংশনের আকার একটি ছোট ফাংশনের জন্য শুধুমাত্র বিট হতে পারে যা স্পষ্টতই কোনও জোড়া ভিত্তিক উপস্থাপনার তুলনায় অনেক কম। উদাহরণ স্ট্যাটিক ফাংশনের একটি তুচ্ছ উদাহরণ হল কী এবং মানগুলির একটি সাজানো তালিকা যা উপরের সমস্ত ক্রিয়াকলাপ এবং আরও অনেক কিছু প্রয়োগ করে। যাইহোক, একটি তালিকার পুনরুদ্ধার ধীর এবং আমরা অনেক অপ্রয়োজনীয় ক্রিয়াকলাপ বাস্তবায়ন করি যা অপ্টিমাইজেশনের অনুমতি দেওয়ার জন্য সরানো যেতে পারে। উপরন্তু, আমাদের এমনকি জাঙ্ক ফেরত দেওয়ার অনুমতি দেওয়া হয় যদি জিজ্ঞাসিত কীটি না থাকে যা আমরা মোটেও ব্যবহার করিনি। পারফেক্ট হ্যাশ ফাংশন একটি স্থির ফাংশন তৈরি করার আরেকটি সহজ উদাহরণ হল একটি নিখুঁত হ্যাশ ফাংশন ব্যবহার করাঃ আমাদের কীগুলির জন্য পিএইচএফ তৈরি করার পরে, কীটির জন্য সঠিক অবস্থানে সংশ্লিষ্ট মানগুলি সংরক্ষণ করুন। যেমনটি দেখা যায়, এই পদ্ধতিটি সম্পর্কিত মানগুলি আপডেট করার অনুমতি দেয়, কীগুলি স্থির হতে হবে। নিখুঁত হ্যাশ ফাংশনের সঠিকতা থেকে সঠিকতা অনুসরণ করা হয়। ন্যূনতম নিখুঁত হ্যাশ ফাংশন ব্যবহার করা একটি বড় স্থানের উন্নতি দেয় যদি সম্পর্কিত মানগুলি তুলনামূলকভাবে ছোট হয়। এক্সওআর-পুনরুদ্ধার হ্যাশড ফিল্টারগুলিকে তাদের প্রশ্নের ভিত্তিতে ওআর, অ্যান্ড এবং এক্সওআর-ফিল্টারে শ্রেণীবদ্ধ করা যেতে পারে। উদাহরণস্বরূপ, ব্লুম ফিল্টারটি একটি AND-ফিল্টার কারণ সমস্ত পরীক্ষিত অবস্থানের সঙ্গে মিল থাকলে এটি সদস্যপদ প্রশ্নের ক্ষেত্রে সত্য বলে প্রমাণিত হয়। এক্সওআর ফিল্টারগুলি শুধুমাত্র স্থির পুনরুদ্ধারের জন্য কাজ করে এবং এগুলি দক্ষতার সাথে স্থান তৈরির জন্য সবচেয়ে আশাব্যঞ্জক। এগুলি একটি রৈখিক পদ্ধতি সমাধান করে তৈরি করা হয় যা নিশ্চিত করে যে প্রতিটি কী-এর জন্য একটি প্রশ্ন সত্য হয়। একটি হ্যাশ ফাংশন দেওয়া হয়েছে যা প্রতিটি কী-কে দৈর্ঘ্যের একটি বিটভেক্টরের সাথে ম্যাপ করে যেখানে সমস্ত রৈখিকভাবে স্বাধীন, রৈখিক সমীকরণের নিম্নলিখিত সিস্টেমের একটি সমাধান রয়েছেঃ অতএব, স্ট্যাটিক ফাংশন দ্বারা দেওয়া হয় এবং এবং স্থানের ব্যবহার দ্বারা প্রভাবিত হয় যার জন্য প্রতি কী প্রায় বিট হয়, হ্যাশ ফাংশনটি ছোট বলে ধরে নেওয়া হয়। জন্য একটি পুনরুদ্ধার সমস্ত সেট বিটের জন্য সারির বিটওয়াইজ এক্সওআর হিসাবে প্রকাশ করা যেতে পারে। উপরন্তু, দ্রুত প্রশ্নের জন্য বিরল প্রয়োজন হয়, সুতরাং এই পদ্ধতির জন্য যে সমস্যাগুলি সমাধান করা দরকার তা হল একটি উপযুক্ত হ্যাশ ফাংশন খুঁজে বের করা এবং এখনও রৈখিক সমীকরণের পদ্ধতিটি দক্ষতার সাথে সমাধান করতে সক্ষম হওয়া। রিবন পুনরুদ্ধার একটি বিরল র্যান্ডম ম্যাট্রিক্স ব্যবহার করে পুনরুদ্ধার ক্যাশেকে অকার্যকর করে তোলে কারণ তারা একটি র্যান্ডম অ-স্থানীয় প্যাটার্নে বেশিরভাগ অ্যাক্সেস করে। প্রত্যেককে পরপর প্রস্থের "ফিতা" দিয়ে রিবন পুনরুদ্ধারের উন্নতি হয় যেখানে বিটগুলি এলোমেলোভাবে সেট করা হয়। ম্যাট্রিক্সের বৈশিষ্ট্যগুলি ব্যবহার করে প্রত্যাশিত সময়ে গণনা করা যেতে পারেঃ রিবন সমাধান প্রথমে সারিগুলিকে তাদের প্রারম্ভিক অবস্থান (যেমনঃ গণনা সাজানো)। তারপরে, একটি আরইএম ফর্মটি বর্তমান সারির কঠোরভাবে নীচে সারিতে সারি অপারেশন সম্পাদন করে পুনরাবৃত্তভাবে তৈরি করা যেতে পারে, এই সারির প্রথম 1-এন্ট্রির নীচে সমস্ত কলামে সমস্ত 1-এন্ট্রি বাদ দিয়ে। সারি অপারেশনগুলি ফিতার বাইরে কোনও মান তৈরি করে না এবং খুব সস্তা কারণ এগুলির জন্য শুধুমাত্র বিটের একটি এক্সওআর প্রয়োজন যা একটি র্যামের উপর সময়মতো করা যেতে পারে। এটি দেখানো যেতে পারে যে সারি ক্রিয়াকলাপের প্রত্যাশিত পরিমাণ হল। অবশেষে, সমাধানটি ব্যাক প্রতিস্থাপন দ্বারা প্রাপ্ত হয়। অ্যাপ্লিকেশন আনুমানিক সদস্যপদ একটি আনুমানিক সদস্যপদ তথ্য কাঠামো তৈরি করতে একটি ফিঙ্গারপ্রিন্টিং ফাংশন ব্যবহার করে। তারপর আমাদের কীগুলির ডোমেনে সীমাবদ্ধ একটি স্ট্যাটিক ফাংশন তৈরি করুন। একটি উপাদানের সদস্যপদ পরীক্ষা করা হয় মূল্যায়নের মাধ্যমে এবং ফেরত দেওয়া মান সমান হলে সত্য ফেরত দিয়ে। যদি, সঠিক মান প্রদান করে এবং আমরা সত্য ফেরত দিই। অন্যথায়, একটি র্যান্ডম মান প্রদান করে এবং আমরা একটি ভুল উত্তর দিতে পারি। হ্যাশের দৈর্ঘ্য মিথ্যা ধনাত্মক হার নিয়ন্ত্রণ করতে সহায়তা করে। এই তথ্য কাঠামোর কার্যকারিতা ঠিক অন্তর্নিহিত স্ট্যাটিক ফাংশনের কার্যকারিতা। নিখুঁত হ্যাশ ফাংশন একটি পুনরুদ্ধার তথ্য কাঠামো একটি নিখুঁত হ্যাশ ফাংশন তৈরি করতে ব্যবহার করা যেতে পারেঃ প্রথমে হ্যাশ ফাংশন এবং 1 আকারের বালতি সহ একটি কোকিল হ্যাশ টেবিলে কীগুলি সন্নিবেশ করান। তারপরে, প্রতিটি কী-এর জন্য হ্যাশ ফাংশনের সূচক যা একটি-বিট পুনরুদ্ধার ডেটা কাঠামোতে হ্যাশ টেবিলে একটি কী সন্নিবেশের দিকে পরিচালিত করে। নিখুঁত হ্যাশ ফাংশন দ্বারা দেওয়া হয়। রেফারেন্স বিমূর্ত তথ্য প্রকার সহযোগী অ্যারে