Русский
Открыть в Telegram

Пост نکته ۱:

12 июля 2023
D
DailyProjects
Ссылка
нажмите — покажем
نکته ۱: دیکشنری توی پایتون نمونه از associative array هست که با hashtable یا hashmap پیاده سازی شده. نکته ۲: این پیاده سازی از hashmap چیزی هست که همین الان تو خیلی از زبان ها برای دیکشنری، set ها توی پایتون و برای دیکشنری ها تا قبل از ورژن ۳.۶ توی پایتون استفاده میشده. به طور کلی hashmap ها ترتیب رو حفظ نمیکنن، همونطور که دیدید ولی از پایتون ۳.۶ به بعد آقای Raymond Hettinger یه پیاده سازی جدیدی برای دیکشنری ها انجام داد به اسم raymond dict. کلیت همینه ولی یه مقدار فرق داره با چیزی که دیدیم که هم کم حجم تره هم باعث میشه ترتیب رو حفظ کنن. اگه علاقه داشتید میتونم بعدا پیاده سازی دیکشنری های جدید پایتون رو هم بگم. نکته ۳: توی separate chaining میشه به جای لیست از linked list یا binary search tree هم استفاده کرد که باز هم هر کدوم معایب و مزایای خودشون رو دارن. نکته ۴: خیلی از نکات گفته نشد به دلیل اینکه نمیخواستم بیشتر از این طولانی بشه. از جمله: - پایتون علاوه بر key و value خود هش‌ها رو هم نگه داره میکنه. چرا اینکارو میکنه؟ - این hash table عه ما به یه حدی که برسه نیاز داره تا resize بشه تا پرفورمنسش رو حفظ کنه. اگه از یه حدی بیشتر پر باشه تعداد دفعاتی که collision میگیریم بیشتر میشه و دیکشنری یا ست ما کند تر میشه. - اگه یه کلیدی و delete کردیم تکلیف hashtable چی میشه؟ چطور باید هندل بشه؟ من همه ی انواع implementation هایی که اسمشون اومد رو به صورت کامل پیاده سازی کردم و نکاتی که وقت نشد رو توش گنجوندم. میتونید به عنوان رفرنس بهش یه نگاه بندازید: * Open Addressing: - Linear Probing - Quadratic Probing - Double Hashing Probing * Separate Chaining - With Dynamic Array - With Linked List - With Binary Search Tree https://github.com/amirsoroush/Python_Hashmaps پست ۳ از ۳ 🖊 @AmirSoroushh
20 · 2.1K ·

Рядом в ленте

DDailyProjectsHashMaps به بیان ساده: قرار هست ببینیم associative array چیه، hashmap چیه، چه ارتباطی به dictionary داره، ویژگی هاشون چیه، hash collision چیه، چطور برطرف میشن، DDailyProjectsچجوری aras رو اضافه کنیم به grades ؟ چون aras از همون حروفی که sara داره تشکیل شده با هش فانکشنی که ما نوشتیم دوباره بهمون ۴۲۳ میده و اگه باقی مانده بگیریم میشه
это сообщение
DDailyProjects✔️ بررسی عمیق آبجکت‌ها و تایپ‌ها در C layer مفسر CPython بسیار شنیدیم که همه‌چیز در پایتون آبجکت است. با اینکه این جمله درسته ولی خب یه سوال پیش میاد! زبان C کهDDailyProjectsدرود. یه موضوع ساده ولی جالب: همونطور که میدونید برای تولید اعداد (شبه) رندوم از ماژول random استفاده میکنیم توی پایتون. یکی از ویژگی های الگوریتم هایی که برای
🐍🐍 Python & Raspberry 🐍🐍 Python & Raspberry 🐍@raspberry_python · канал · Технологии
7 274подписчиков3 920постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем