تالار گفتمان مانشت

نسخه‌ی کامل: سوال 49 ساختمان داده آزمون پارسه جامع دوم
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
در باره این سوال چندتا نکته به نظرم میاد :
- نوع داده ها، ترتیب داده ها اصلا مشخص نیست. با این وجود طراح اومده تعداد خانه های جدول درهم و اولا بیشتر از تعداد کل داده ها ( تو ذهن خودش فرض کرده عدد) و ثانیا برابر اولین عدد اول بعد از این مقدار در نظر گرفته.

- آیا طراح سوال فکر کرده که روش تقسیم و باقیمانده تنها روش درهم سازی موجود است؟ و تا به حال روش درهم سازی دیگه ای ندیده که اصلا به روش درهم سازی اشاره نکرده .

کسی نظری در باره این سوال داره؟

[تصویر:  327562_CSta.jpg]
نوع داده مگه فرق میکنه چی باشه
ترتیبم مهم نیس به هر هر هر ترتیبی داشته باشه ۳۱ خونه پر میشه ( چه روش زنجیره سازی با تابع در هم سازی یکنواخت چه یکنواخت ساده)
جدول در هم باید بیشتر از تعداد داده ها باشه در غیر اینصورت داده ها توش جا نمیشن ( بعد که داده ها بیشتر هم شد میتونن جدول رو بزرگتر هم بگیرن)
فک میکنم چون روشی رو قید نکرده اومده روش تقسیم در نظر رفته چون رایج تره و هیچ پارامتری بجز تعداد خانه های جدول نداده.
اولین عدد اول بزرگتر هم به این دلیله تو در هم سازی یکنواخت بهتره m عددی اول باشه چون اگه غیر اول باشه احتمال نگاشت به یکسری خونه ها بیشتر میشه.
(27 دى 1393 06:17 ب.ظ)artmiss نوشته شده توسط: [ -> ]نوع داده مگه فرق میکنه چی باشه
ترتیبم مهم نیس .
البته شاید بشه گفت هر نوع که باشه می شه با نمایش عددی نشونش داد ولی بحث باشه واسه بعد.
داخل سوال بالا طراح مساله رو حل کرده بعد یکی از جواب ها رو بدست آورده 67 (فک کنم) که اگر این تعداد خونه داشته باشیم برخورد نداریم حالا لطفا در مورد نکات زیر منو روشن کنید.
---- از کجا می دونیم برخورد نداریم مگه روش (تابع) درهم سازی مشخصه؟!!
---- اگه فرض کنیم تابع در هم ساز باقیمانده عدد رو حساب میکنه عدد 1 و 68 هردو یک باقیمانه دارن و برخورد پیش میاد. (شاید منظور طراح از برخورد نداشته باشیم این بوده که همه اعداد جا بشن که در این مورد دیگه طراح شاه کار زده چون تعریف برخورد چیز دیگریه)
من فقط به فاکتور لود کمتر از ۰/۵ توجه کردم اون یکی هم آره به قول شما شاهکار زده چون اگه جدول دو میلیون خونه هم داشته باشه امکان برخورد داریم. اگه فقط فاکتور لود کمتر از ۰/۵ رو در نظر بگیریم و اون جمله مزخرف بعدی توجه نکنیم و تابع درهم سازم تقسیم بگیریم ( که فک کنم هر جا قید نکرده بودن باید پیش فرض تقسیم در نظر بگیریم البته اینو باید بقیه دوستان که بیشتر تجربه دارن بگن Big Grin)
با این شرایط فک کنم درست باشه. این طور نیس؟
زمانی که mod به یه عدد اول باشه مطمئنا برخورد نداریم!
لینک مرجع