আপনি কেবলমাত্র হ্যাশটেবলে উপাদানগুলির প্রাথমিক কী দ্বারা অ্যাক্সেস করতে পারেন। এটি গাছের অ্যালগোরিদমের ( O(1)
পরিবর্তেlog(n)
) তুলনায় দ্রুত , তবে আপনি ব্যাপ্তিগুলি ( এর মধ্যবর্তী x
এবং সবকিছুতেy
) নির্বাচন করতে পারবেন না । ট্রি অ্যালগরিদম এটিকে সমর্থন করে Log(n)
যেখানে হ্যাশ সূচকগুলি একটি পূর্ণ টেবিল স্ক্যানের ফলে আসতে পারে O(n)
। এছাড়াও হ্যাশ সূচকগুলির ধ্রুবক ওভারহেড সাধারণত বড় হয় ( যা থিটা চিহ্নিতকরণের কোনও কারণ নয়, তবে এটি এখনও বিদ্যমান )। এছাড়াও গাছের অ্যালগোরিদমগুলি সাধারণত বজায় রাখা, ডেটা, স্কেল ইত্যাদির সাথে বর্ধন করা সহজ are
হ্যাশ সূচকগুলি পূর্বনির্ধারিত হ্যাশ আকারগুলির সাথে কাজ করে, তাই আপনি কিছু "বালতি" দিয়ে শেষ করেন যেখানে বস্তুগুলি সঞ্চিত থাকে this এই পার্টিশনের অভ্যন্তরে সঠিকটি খুঁজে পেতে এই বিষয়গুলি আবার লুপ করা হয়।
সুতরাং আপনার যদি ছোট আকারের আকার থাকে তবে ছোট উপাদানগুলির জন্য আপনার প্রচুর ওভারহেড থাকে, বড় আকারের আরও স্ক্যানের ফলাফল।
আজকের হ্যাশ টেবিলগুলি অ্যালগোরিদম সাধারণত স্কেল করে তবে স্কেলিং অদক্ষ হতে পারে।
প্রকৃতপক্ষে স্কেলযোগ্য হ্যাশিং অ্যালগরিদম রয়েছে। কীভাবে এটি কাজ করে আমাকে জিজ্ঞাসা করবেন না - এটি আমার কাছে একটি রহস্য। এএআইএএআইকিকি তারা স্কেলযোগ্য অনুলিপি থেকে বিবর্তিত হয়েছে যেখানে পুনরায় হ্যাশ করা সহজ নয়।
তার নামক RUSH - আর eplication ইউ nder এস calable এইচ ashing, এবং যারা আলগোরিদিম এইভাবে RUSH আলগোরিদিম বলা হয়।
তবে এমন একটি পয়েন্ট থাকতে পারে যেখানে আপনার হ্যাশের আকারের তুলনায় আপনার সূচকটি সহনীয় আকারের চেয়ে বেশি হয়ে গেছে এবং আপনার সম্পূর্ণ সূচকটি পুনরায় তৈরি করা দরকার। সাধারণত এটি কোনও সমস্যা নয়, তবে বিশাল-বিশাল-বিশাল ডাটাবেসের জন্য, এটি কয়েক দিন সময় নিতে পারে।
গাছের অ্যালগোরিদমের জন্য বাণিজ্য ছোট এবং এগুলি প্রায় প্রতিটি ব্যবহারের ক্ষেত্রে উপযুক্ত এবং সুতরাং এটি ডিফল্ট।
তবে আপনার যদি খুব সুনির্দিষ্ট ব্যবহারের কেস থাকে এবং আপনি ঠিক কী এবং কেবল কী প্রয়োজন হবে তা আপনি জানেন তবে আপনি হ্যাশিং সূচকগুলির সুবিধা নিতে পারেন।