שאלה במיון - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה במיון


guy81

Recommended Posts

לא, בכל דלי יהיו לך (o(1 מספרים. יש לך n דליים ו-n מספרים, מה שאומר שאם ההתפלגות היא אחידה, אז בממוצע יהיה לך בדיוק מספר אחד בכל דלי. מיון דליים מסתמך על ההנחה הזו, ולכן כשמחשבים את הסיבוכיות שלו לא מתייחסים ל-worst case אלא לסיבוכיות הממוצעת.

קישור לתוכן
שתף באתרים אחרים

האלגוריתם אמנם מסתמך על התפלגות אחידה, אבל ממש לא מספר אחד בכל דלי.

האלגוריתם מחלק את המספרים לדליים (O(n, insertion sort (זמן קבוע) שוב (O(n ואז שרשור (O(n. סה"כ (O(n.

נ.ב. ממש מציק לכתוב (O(n

קישור לתוכן
שתף באתרים אחרים

כי במיון דליים אין שום דרישה שמספר הדליים יהיה זהה למספר האיברים.

יכול להיות שיהיו n איברים ו-k דליים, ככה שבכל דלי יש בתוחלת (o(n/k איברים.

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

קישור לתוכן
שתף באתרים אחרים

טוב..עוד שאלה אחרונה לתקופה הקרובה(מקווה..)

בקשר לסעיף ב פה:

http://www.fastup.co.il/images/1548587.bmp

נכניס לטבלת hush, אם יש אברים עם מפתחות זהים, נשרשר לאותה רשימה . אבל מה קורה אם המפתחות לא זהים, אבל פונקציית הגיבוב שרשרה אותם לאותו תא?

אח"כ כשנמיין, איך נמיין בצורה נכונה בזמן הנדרש? בתא כלשהו ייתכן שיהיו מפתחות שונים..

קישור לתוכן
שתף באתרים אחרים

1. hash ולא hush.

2. אם פונקציית הגיבוב מכניסה מפתח שונה לאותו תא, הרי שהיא לא מוצלחת אבל גם זה יכול לקרות. יוצרים רשימה מקושרת ואז במקום (1)O

תקבל O של אורך הרשימה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...