একটি বড় সংখ্যা নোড এর দ্রুত সন্নিবেশ জন্য শ্রেষ্ঠ স্ব-সমলিপিবিশেষ BST

আমি বেশ কয়েকটি উৎসের মাধ্যমে কয়েকটি স্ব-ব্যালান্সিং <�কোড> BST s- এর বিশদ জানতে পেরেছি, কিন্তু আমি কোনও ভাল বর্ণনা খুঁজে পাইনি যা বিভিন্ন পরিস্থিতিতে ব্যবহার করা সর্বোত্তম। ব্যাপার না)।

আমি একটি BST চাই যেটি দশ মিলিয়ন নোডের বেশি সংরক্ষণের জন্য উপযুক্ত। নোডের সন্নিবেশের মূলত মূলত র্যান্ডম, এবং আমি নোড মুছে ফেলতে হবে না প্রয়োজন, তাই সন্নিবেশ সময় অপ্টিমাইজ করা প্রয়োজন হবে যা একমাত্র জিনিস।

আমি একটি পাজল খেলা পূর্বে পরিদর্শন গেম রাজ্যের সংরক্ষণ করতে এটি ব্যবহার করতে ইচ্ছুক, একটি পূর্ববর্তী কনফিগারেশন ইতিমধ্যে সম্মুখীন হয়েছে কিনা আমি দ্রুত চেক করতে পারেন।

0
ro fr hi

3 উত্তর

Red-black is better than AVL for insertion-heavy applications. If you foresee relatively uniform look-up, then Red-black is the way to go. If you foresee a relatively unbalanced look-up where more recently viewed elements are more likely to be viewed again, you want to use splay trees.

0
যোগ

[হ্যাশ টেবিল আছে] ও (1) সন্নিবেশ এবং অনুসন্ধান

আমি মনে করি এটা ভুল।

প্রথমত, যদি আপনি কী-স্পেস সীমাবদ্ধ করতে সীমিত করেন, তবে আপনি একটি অ্যারের উপাদানগুলি সংরক্ষণ করতে পারেন এবং O (1) রৈখিক স্ক্যান করতে পারেন। অথবা আপনি অ্যারে shufflesort পারে এবং তারপর হে (1) প্রত্যাশিত সময় একটি রৈখিক স্ক্যান করবেন। যখন উপাদান সীমিত, স্টাফ সহজেই হয় (1)।

সুতরাং আসুন আমরা বলতে পারি আপনার হ্যাশ টেবিল কোন বিরাট বিট স্ট্রিং সংরক্ষণ করবে; এটি অনেক কিছু করে না, যতক্ষণ পর্যন্ত একটি অসীম সেটের কী আছে, যার প্রতিটিটি সীমিত। তারপর আপনি কোন প্রশ্ন এবং সন্নিবেশ ইনপুট সব বিট পড়তে আছে, অন্যথায় আমি একটি ফাঁকা হ্যাশ y0 সন্নিবেশ এবং y1 নেভিগেশন কোয়েরি, যেখানে y0 এবং y1 এক বিট অবস্থান যা আপনি তাকান না এ পার্থক্য।

কিন্তু চলুন শুরু করা যাক কী দৈর্ঘ্য একটি প্যারামিটার নয়। যদি আপনার সন্নিবেশ এবং অনুসন্ধানটি হে (1) গ্রহণ করে, বিশেষ করে হ্যাশিংয়ের সময় হে (1) সময় লাগে তবে এর মানে হল যে আপনি হ্যাশ ফাংশন থেকে শুধুমাত্র একটি সীমিত পরিমাণের আউটপুট দেখতে পাবেন (যার ফলে শুধুমাত্র একটি নির্দিষ্ট আউটপুট, মঞ্জুর)।

This means that with finitely many buckets, there must be an infinite set of strings which all have the same hash value. Suppose I insert a lot, i.e. ω(1), of those, and start querying. This means that your hash table has to fall back on some other O(1) insertion/search mechanism to answer my queries. Which one, and why not just use that directly?

0
যোগ
এই এক প্রচলিত জ্ঞান। সেরা ক্ষেত্রে, হে (1), স্পষ্টতই বাস্তবায়ন ভিন্ন হবে। বিভিন্ন হ্যাশ টেবিলের অ্যালগরিদম বিভিন্ন হিসাবে আছে।
যোগ লেখক ApplePieIsGood, উৎস
@ মেয়োয়োওর জোনাস সঠিকভাবে তার উত্তরের প্রথম লাইনের জন্য একটি কোট বিন্যাস ব্যবহার করে কারণ এটি অন্য কারো উদ্ধৃতি ছিল। ভবিষ্যতে এ ধরনের সম্পাদনা করবেন না।
যোগ লেখক Andrew Barber, উৎস
@ মেমোওর ব্র্যাকেট বোঝার সহজে সম্পন্ন করা হয়েছে। এটি একটি খুব সাধারণ ব্যবহার। ছেলেরা এবং উদ্ধৃতি boyetboy এর উত্তর থেকে আসে।
যোগ লেখক Andrew Barber, উৎস
@ জনাসকোলার আমার ক্ষমা; আপনি সঠিক. অনুস্মারক জন্য আপনাকে ধন্যবাদ :)
যোগ লেখক Andrew Barber, উৎস
@ এন্ড্রুব্যাবের পরেরবার আপনার কাছে একটি অনুরোধ আছে আপনি দয়া করে শব্দটি ব্যবহার করুন অথবা একটি মডারেটরের সাথে যোগাযোগ করুন। এখন এই সমস্যাটি নিয়ে, যখন এই বিষয়ে আপনার অধিকার আমি বর্গাকার বন্ধনী দ্বারা consensured ছিল: [হ্যাশ টেবিল আছে] আপনি যে জন্য কোন কারণ দেখতে? এই শব্দটি পৃষ্ঠাটিতে অন্য কোথাও নাকি?
যোগ লেখক CloudyMarble, উৎস
@ এন্ড্রুবারবার আপনাকে ধন্যবাদ
যোগ লেখক CloudyMarble, উৎস
"এই এক প্রথাগত জ্ঞান।" - আমি শুনেছি অনেক বার, কিন্তু আমি এখনও একটি প্রমাণ দেখা যায় না। আমি মনে করি এটা যদি আপনি "দ্রুত অনুশীলন মধ্যে" চান তাত্ত্বিক ফলাফল "এটা (1)", বা বিভিন্ন সন্ধান কাঠামো পরিমাপ যদি আপনি লোকচন্দ্রের এই টুকরা চ্যালেঞ্জ ভাল হবে। "শ্রেষ্ঠ কেস, হে (1)" - অসতর্ক অনুসন্ধান গাছ যে ভাল আছে, তবুও কেউ বলছেন না যে তাদের "ও (1) সন্নিবেশ এবং অনুসন্ধান" আছে
যোগ লেখক Jonas Kölker, উৎস
সেরা ক্ষেত্রে, ব্যবহারকারী মূল নোডের মধ্যে সংরক্ষিত মান অনুসন্ধান করছেন, যা O (1) এর সময় প্রবেশ করতে পারে ...
যোগ লেখক Jonas Kölker, উৎস
@ এন্ড্রুবারবার: "পরবর্তী বার আপনার কাছে একটি অনুরোধ আছে আপনি দয়া করে শব্দটি ব্যবহার করুন অথবা একটি মডারেটরের সাথে যোগাযোগ করুন।" // পরবর্তীবার যখন আপনি কাউকে ঠিক করেন, আপনি কি আপনার কাছ থেকে চান এমন আচরণের জন্য একটি ভালো ভূমিকা মডেল হতে সন্তুষ্ট থাকতে চান?
যোগ লেখক Jonas Kölker, উৎস
আপনাকে স্বাগতম :-)
যোগ লেখক Jonas Kölker, উৎস
একটি ভাল কেস ভারসাম্যহীন অনুসন্ধান বৃক্ষ ভারসাম্য থেকে এক নোড হবে। সেরা কেস সন্নিবেশ / সন্ধান এখনও লগ (এন)
যোগ লেখক µBio, উৎস

কেন BST ব্যবহার করুন? আপনার বিবরণ থেকে একটি অভিধান ঠিক একইভাবে কাজ করবে, যদি না ভাল হয়।

কনটেইনার বিষয়বস্তু কী কীভাবে তালিকাভুক্ত করতে চান তা BST ব্যবহার করার একমাত্র কারণ হতে পারে। এটা অবশ্যই আপনি কি করতে চান মত না শব্দ, যা ক্ষেত্রে হ্যাশ টেবিল জন্য যান। O (1) সন্নিবেশ এবং অনুসন্ধান, মুছে ফেলার বিষয়ে কোন উদ্বেগ, কি ভাল হতে পারে?

0
যোগ