PDA

View Full Version : Hash Tables



دوشنبه 31 فروردین 1383, 17:28 عصر
اگر کسی اطلاعاتی در این مورد و استفاده از اونها در جاواو داره لطفا به من هم یگه
مخصوصا این بخش Load Factory خیلی توش مشکل دارم!!
با تشکر

Inprise
سه شنبه 01 اردیبهشت 1383, 00:33 صبح
فکر نمیکنم انتظار داشته باشی با چهار صفحه توضیح فارسی مواجه بشی ! خوبه وقتی میگی مشکل دارم دقیقا محل اشکال رو بگی تا جواب مفید و به درد بخور بگیری :)

سه شنبه 01 اردیبهشت 1383, 01:59 صبح
حق با شماست
ولی من گفتم در بخش LoadFactory
اصلا نحوه ی کارش را نمی فهمم
با تشکر

ناصرقلی
چهارشنبه 02 اردیبهشت 1383, 07:02 صبح
سلام و درود!
من فکر می کنم منظور شما load factor باشه نه load factory .
در این صورت لازمه کمی در مورد hash table ها به طور کلی بدانید تا متوجه این قضیه بشید.
روش کار کلی این است که کلید شما تبدیل به یک آدرس می شود که البته نکته اینجاست که تابع تبدیل کلید به آدرس تابع یک به یک نیست یعنی ممکن است چند کلید مختلف تولید یک آدرس یکسان کنند . این آدرس در حقیقت آدرس بلاکی از حافظه است که گنجایش چندین عنصر را دارد .همانطور که احتمالا حدس زدید مشکلاتی ممکن است پیش آید از جمله اینکه تعداد درجی ها در یک بلاک از ظرفیت آن فراتر رود که را ه حل های مختلفی برای حل آن است که مورد بحث نیست.مقدار load factor هم مربوط به همین قضیه است و بیان می کند که در ابتدای ایجاد hash table با ظرفیت مورد نظر ما چند بلاک در نظر گرفته شود به طوریکه ظرفیت اشغال هر بلاک کوچکتر از load factor باشد. البته load factor در index ها با این load factor کمی متفاوت است.
امیدوارم درست راهنمایی کرده باشم و منظورم را را رسانده باشم!

چهارشنبه 02 اردیبهشت 1383, 18:26 عصر
با سلام
ممنون
ولی یه سوال این ظرفیت اشغال هر بلاک کوچکتر از load factor باشد را نمی فهمم
میشه بیشتر توضیح بدین
ممنون

ناصرقلی
یک شنبه 06 اردیبهشت 1383, 07:10 صبح
مقدار load factor یعنی در صدی از کل فضای بلاک که در ابتدای کار ساخت جدول پر می شود. البته در طول زمان ممکن است با حذف و اضافه کردن بلاک کاملا پر یا کاملا خالی شود و این درصد فقط در ابتدای کار است.

vip_on_the_web
جمعه 30 مرداد 1383, 00:29 صبح
bebin aziz

loadfactor be bayaane saade eentor mishe

age ye hashtable(yaa yechizi shabihe een mesle hashmap va hashset, ...) 100 taa khoone daashte baahse va load factore oon 0.6 baashe vaghti 60 taa khoone az een 100 taa por shod onvaght hashtable khoonehaaro ezaafe mikone (2 baraabar) va itemhaa ro dobaare hashmikone taa daakhele arraye jadid gharaar bede , meghdaare defaulte oon 0.75 hastesh va meghdaare maghooliye, age soraate bishtari laazem daari baraaye dastresi be itemhaaye hashtable een loadfactor ro kam kon va age mikhaay hafeze kamtar estefaade beshe oono ziyaadtar kon, vali be nazar man dar bishtare ooghaat age oono dast kaari nakoni behtare

mohsen

golnari
شنبه 31 مرداد 1383, 07:35 صبح
سلام ناصر قلی

مقدار load factor یعنی در صدی از کل فضای بلاک که در ابتدای کار ساخت جدول پر می شود

load factor حداکثر درصدی از بلاک هاست که اگر پر شود بلاک بزرگتر می شود(شاید دو تا بلاک)