מעבר לתוכן

מבני נתונים


הודעות מומלצות

זה נראה לי דומה להוכחה ההיא של הunion בunion-find

עבר קצת (הרבה...) זמן מאז סמסטר 3, אבל לפי מה שאני זוכר זה היה משהו כזה- כל פעם מוסיפים עץ קטן לעץ הגדול.

החסם על כמות האיחודים הוא לוגריתמי, כי המקרה הכי "גרוע" הוא שכל פעם מאחדים 2 עצים באותו הגודל.

כלומר, כל לקוח עובר בממוצע לוג פעמים לעץ אחר.

כמו-כן, הפעולה של להעביר לקוח לוקחת logn במקרה הכי גרוע.

סה"כ log^2(n) zz.

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

זה נראה לי דומה להוכחה ההיא של הunion בunion-find

עבר קצת (הרבה...) זמן מאז סמסטר 3, אבל לפי מה שאני זוכר זה היה משהו כזה- כל פעם מוסיפים עץ קטן לעץ הגדול.

החסם על כמות האיחודים הוא לוגריתמי, כי המקרה הכי "גרוע" הוא שכל פעם מאחדים 2 עצים באותו הגודל.

כלומר, כל לקוח עובר בממוצע לוג פעמים לעץ אחר.

כמו-כן, הפעולה של להעביר לקוח לוקחת logn במקרה הכי גרוע.

סה"כ log^2(n) zz.

הבנתי את התשובה. אבל אני לא מבינה למה החסם על כמות האיחודים הוא לוגריתמי (אני יודעת שזה נכון, זה הוזכר פעם באיזו הרצאה/תירגול). הרי יכול להיות מצב שבו אני כל פעם מאחדת עם עץ של 1, ואז אני מקבלת n-1 איחודים, לא? 

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

אם כל העצים בגודל 1 אז כל צומת מחליף עץ רק פעם אחת.

אבל גם אם כל צומת מחליף עץ רק פעם אחת, עדיין מספר האיחודים הוא לא לוגריתמי. או שיש פה משהו שאני לא מבינה. 

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

נכון אבל תחשבי על הסיבוכיות המשוערכת במקרה שלך.

כל צומת מחליף עץ רק פעם אחת. אבל הפעולה של האיחוד בין 2 עצים במקרה הזה היא ממש logn.

איחוד בין 2 עצים זה logn אבל אני עושה n-1 איחודים כאלה (במידה ואני מאחדת את כולם לעץ אחד).  אז אני לא מקבלת nlogn במקום 2^(logn)?

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

את מסכימה שאם יש תור אחד גדול בגודל n-1 ויש תור נוסף בו יש לקוח אחד, הסיבוכיות היא log(n) zz?

זה פשוט מקרה פחות "יקר".

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

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

זה מבנה, לא לוגיקה. אין כאן אינדוקציה על שום דבר חוץ מ n...

תעשי בסיס n=9 ואז n=10 ותראי שזה באמת מקיים את החסם.

אח"כ תניחי נכונות עבור n כלשהו, שעבורו החסם באמת עובד: http://www.codecogs.com/gif.latex?T(n)%20

אח"כ תיקחי את http://www.codecogs.com/gif.latex?T(n+1) ותראי שמתקיים http://www.codecogs.com/gif.latex?T(n+1)%20 עבור n>10.

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

הצטרפות לשיח

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

אורח
הוספת תגובה

×   הדבקה כטקסט עשיר.   הדבקה כטקסט רגיל במקום

  מאושרים אך ורק 75 סמייקונים.

×   הקישור שלך מוצמד אוטומטית.   הצגה כקישור במקום

×   תוכן הקודם שלכם שוחזר.   ניקוי עורך

×   You cannot paste images directly. Upload or insert images from URL.

טוען...
×
×
  • יצירת חדש...