הבדלי מהירות בין list ל set

בליב האחרון למדנו על יעילות הקוד. ים ביקש שנזכיר לו לשלוח מאמר והרצאה מעניינת על מדוע set כל כך מהיר יותר list.
בשיעור קיבלנו פרומו קטן: set ו- dict עושים hash לערכים שלהם ולכן יותר קל לחפש אותם.

אני כבר מתחיל עם שאלה-
בקוד שכתבת בליב, יצרת מילון שבו המפתח הוא hash. אז האם מאחורי הקלעים בעצם פיתון עשתה hash ל- hash שלנו?

לייק 1

כן. למעשה, מילון הוא בסך הכל מימוש פייתוני למבנה נתונים גנרי שנקרא hash map או hash table.

יש כאן הסבר על איך זה ממומש בפייתון.
למי שיש קצת זמן פנוי, אני ממליץ על הרצאה ממש מוצלחת של Raymond Hettinger על מילונים שיורדת ממש לעומק ומסבירה איך מילונים מומשו עד גרסה 3.6.
זה לא סופר רחוק מאיך שהם ממומשים עכשיו וזה די מגניב להבין את זה :slight_smile:

2 לייקים