English
Open in Telegram

Post نکته ۱:

12 July 2023
D
DailyProjects
Link
click to show
نکته ۱: دیکشنری توی پایتون نمونه از 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 ·

Nearby in the feed

DDailyProjectsHashMaps به بیان ساده: قرار هست ببینیم associative array چیه، hashmap چیه، چه ارتباطی به dictionary داره، ویژگی هاشون چیه، hash collision چیه، چطور برطرف میشن، DDailyProjectsچجوری aras رو اضافه کنیم به grades ؟ چون aras از همون حروفی که sara داره تشکیل شده با هش فانکشنی که ما نوشتیم دوباره بهمون ۴۲۳ میده و اگه باقی مانده بگیریم میشه
this message
DDailyProjects✔️ بررسی عمیق آبجکت‌ها و تایپ‌ها در C layer مفسر CPython بسیار شنیدیم که همه‌چیز در پایتون آبجکت است. با اینکه این جمله درسته ولی خب یه سوال پیش میاد! زبان C کهDDailyProjectsدرود. یه موضوع ساده ولی جالب: همونطور که میدونید برای تولید اعداد (شبه) رندوم از ماژول random استفاده میکنیم توی پایتون. یکی از ویژگی های الگوریتم هایی که برای
🐍🐍 Python & Raspberry 🐍🐍 Python & Raspberry 🐍@raspberry_python · channel · Tech
7 274subscribers3 920posts in the index
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count