Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

יסודות מבני נתונים תרגול 9: שאלות חזרה.

Lignende præsentationer


Præsentationer af emnet: "יסודות מבני נתונים תרגול 9: שאלות חזרה."— Præsentationens transcript:

1 יסודות מבני נתונים תרגול 9: שאלות חזרה

2 שאלה 1 מבנה הנתונים המתקבל מהכנסת איבר ומיד מחיקתו מהמבנה,
זהה לחלוטין למבנה הנתונים לפני ביצוע שתי הפעולות הנ"ל. הטענה נכונה עבור: עץ חיפוש בינארי עץ AVL Hash – Double Hashing Hash – Chaining אף תשובה אינה נכונה א. הכנסה נעשית בעלה ומחיקת עלה אינה משנה את שאר העץ ב. הכנסה נעשית בעלה אבל מיד לאחריה יהיה איזון של העץ, המחיקה תבצע שוב איזון ולכן העץ יכול להשתנות ג. מכיוון שיש צורך בסימון התא בו בוצעה מחיקה הטבלה שנותרה אינה זהה ד. הוספת איבר נעשית בראש רשימה מקושרת ומחיקתו תחזיר את הרשימה למצבה הקודם

3 שאלה 1 מבנה הנתונים המתקבל ממחיקת איבר (קיים) ומיד הכנסתו בחזרה למבנה,
זהה לחלוטין למבנה הנתונים לפני ביצוע שתי הפעולות הנ"ל. הטענה נכונה עבור: עץ חיפוש בינארי עץ AVL Hash – Double Hashing Hash – Chaining אף תשובה אינה נכונה א. מחיקה יכולה להתבצע מאמצע העץ וההוספה נעשית רק בעלים ב. הוצאה והכנסה מבצעות איזונים לעץ ג. יכול להיות שההכנסה של האיבר מחדש תיעשה במקום אחר ולכן הטבלה שנותרת שונה ד. הוצאת האיבר יכולה להתבצע מאמע רשימה מקושרת אבל הכנסה נעשית רק בראשה

4 שאלה 2 נתונה טבלת hash עם שרשור בגודלN שמכילה N3 איברים. האיברים מאוחסנים בטבלה לפי מפתח ייחודי key. סמנו את כל הטענות הנכונות. זמן חיפוש של איבר בטבלה הינוO(1) במקרה הגרוע. זמן חיפוש של איבר בטבלה הינו O(1) צפוי. זמן חיפוש של איבר בטבלה הינו O(N)במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(N) במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) צפוי. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) במקרה הגרוע. לא ייתכן כי קיים תא בטבלה שמכיל יותר מ-3 איברים. מספר צפוי של איברים בתא כלשהו בטבלה הינו 3. כל האיברים שנמצאים בתא מסוים בטבלה בהכרח בעלי מפתח זהה. א,ג – במקרה הגרוע כל האיברים נפלו לאותו התא, ולכן זמן ריצה יהיה 𝑂(𝑛) ב – באופן צפוי זמן חיפוש בטבלה שבה 𝛼=𝑂(1) הוא 𝑂(1)

5 שאלה 2 נתונה טבלת hash עם שרשור בגודלN שמכילה N3 איברים. האיברים מאוחסנים בטבלה לפי מפתח ייחודי key. סמנו את כל הטענות הנכונות. זמן חיפוש של איבר בטבלה הינוO(1) במקרה הגרוע. זמן חיפוש של איבר בטבלה הינו O(1) צפוי. זמן חיפוש של איבר בטבלה הינו O(N)במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(N) במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) צפוי. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) במקרה הגרוע. לא ייתכן כי קיים תא בטבלה שמכיל יותר מ-3 איברים. מספר צפוי של איברים בתא כלשהו בטבלה הינו 3. כל האיברים שנמצאים בתא מסוים בטבלה בהכרח בעלי מפתח זהה. ד,ו – הכנסה תמיד תעשה בראש הרשימה וכן תמיד ב𝑂(1) ה – אם הזמן הגרוע הוא 𝑂(1) בוודאות גם הממוצע הוא 𝑂(1)

6 שאלה 2 נתונה טבלת hash עם שרשור בגודלN שמכילה N3 איברים. האיברים מאוחסנים בטבלה לפי מפתח ייחודי key. סמנו את כל הטענות הנכונות. זמן חיפוש של איבר בטבלה הינוO(1) במקרה הגרוע. זמן חיפוש של איבר בטבלה הינו O(1) צפוי. זמן חיפוש של איבר בטבלה הינו O(N)במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(N) במקרה הגרוע. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) צפוי. זמן ריצה של הכנסת איבר חדש לטבלה הינו O(1) במקרה הגרוע. לא ייתכן כי קיים תא בטבלה שמכיל יותר מ-3 איברים. מספר צפוי של איברים בתא כלשהו בטבלה הינו 3. כל האיברים שנמצאים בתא מסוים בטבלה בהכרח בעלי מפתח זהה. ז – יכול במקרה הגרוע להיות מצב בו כל האיברים בתא יחיד ח – המספר הצפוי של איברים בטבלה עם chaining הוא 𝑛 𝑚 כלומר 3 ט – באותו תא בהחלט יכולים להיות שני ערכים בעלי מפתחות x,y כך ש ℎ 𝑥 =ℎ(𝑦)

7 שאלה 3 רוצים לבנות מבנה נתונים המכיל את n איברים נתונים.
לאיזה מהמבנים הבאים זמן הבנייה הינו הארוך ביותר במקרה הגרוע? טבלת Hash שבה פותרים התנגשויות ע"י שרשור טבלת Hash שבה פותרים התנגשויות בשיטת addressing open עץ AVL רשימה מקושרת דו כיוונית עץ BST א. בכל מקרה, ההכנסה הינה לראש רשימה שבתא. n הכנסות יקחו 𝑂 𝑛 זמן ריצה. ב. במקרה הגרוע כל ערך ינסה להיכנס לאותם תאים ולכן הזמן הגרוע יהיה 𝑂 𝑛 2 ג. במקרה הגרוע, 𝑂(𝑛) הכנסות יעלו 𝑂 log 𝑛 זמן ריצה, ולכן בסה"כ נשלם 𝑂 𝑛⋅ log 𝑛 ד. ברשימה מקושרת דו כיוונית (ללא מיון) זמן ההכנסה קבוע לכל איבר - 𝑂 𝑛 ה. במקרה הגרוע, כל האיברים בונים מסלול אחד ארוך - 𝑂 𝑛 2

8 ניתן להמשיך בניית עץ זה עד כמה שנרצה
שאלה 4 יהי T עץ AVL ויהיו y, x שני עלים כלשהם בעץ. נסמן depth(x) ו depth(y) עומקים שלx ו-y ב T. הערך המקסימאלי שיכול לקבל הביטוי |𝑑𝑒𝑝𝑡ℎ 𝑥 −𝑑𝑒𝑝𝑡ℎ 𝑦 | הינו: 1 2 כל מספר שהוא אף תשובה אינה נכונה ניתן להמשיך בניית עץ זה עד כמה שנרצה

9 שאלה 5 עומר ותומר פותרים שאלה במבני נתונים. מבקשים בשאלה להציע אלגוריתם למבנה נתונים כאשר זמן בנייה של המבנה מקבוצה המכילה n איברים הינו O(n), וזמן חיפוש אחר איבר בודד הינו O(logn). מבנה נתונים המוצע כפתרון יכול להיות עץ AVL. מבנה נתונים המוצע כפתרון יכול להיות מערך. במידה והאוסף הנתון ממויין, גם עץ AVL וגם מערך יכולים להיות מוצעים כפתרונות לשאלה הנתונה. אף תשובה אינה נכונה א. זמן הבניה 𝑂 n⋅log 𝑛 במקרה הכללי ב. זמן החיפוש 𝑂(𝑛) במקרה הכללי ג. בוחרים איבר אצמעי (חציון) להיות שורש עץ AVL. רקורסיבית, בונים תת עץ שמאלי מחצי האיברים הקטנים, ותת עץ ימני מחצי האיברים הגדולים. סה"כ 𝑂(𝑛) זמן בנייה, והחיפוש בעץ AVL הוא 𝑂 log 𝑛 . מערך – בניה ב 𝑂(𝑛) וחיפוש בינארי ב 𝑂( log 𝑛)

10 שאלה 5 נתון עץ חיפוש בינארי על n איברים. נסמן ב k את מספר האיברים בעץ שפעולת חיפוש עבורם לוקחת זמן קבוע (כלומר, שאינו תלוי ב. (n מהו k ? k=1 k=O(1) k=O(logn) k= n / 2 אף תשובה אינה נכונה

11 שאלה 5 נתון עץ חיפוש בינארי על n איברים. נסמן ב k את מספר האיברים בעץ שפעולת חיפוש עבורם לוקחת זמן קבוע (כלומר, שאינו תלוי ב. (n מהו k ? k=1 k=O(1) k=O(logn) k= n / 2 אף תשובה אינה נכונה כל מספר קבוע מהווה תשובה נכונה, מכיוון שכל מספר קבוע הינו O(1). נראה לדוגמא למה ג לא נכון. נניח בשלילה שיש 𝑂(𝑙𝑜𝑔𝑛) קדקדים בעץ הנתון שניתן להגיע אליהם בזמן קבוע מהשורש. כלומר, עבור כל קדקד כזה, עומק שלו הינו קבוע. נאסוף את כל האיברים הללו ונבנה מהם עץ חדש מאוזן מצומצם באופן הבא: לכל קדקד, או שנשאיר אותו בעומק כפי שהיה בעץ המקורי, או שנעלה אותו קרוב יותר לשורש. מכיוון שיש לנו 𝑂(𝑙𝑜𝑔𝑛) קדקדים, גובה העץ החדש הינו 𝑂(𝑙𝑜𝑔𝑙𝑜𝑔𝑛). לכן, קיים עלה בעץ החדש שהעומק שלו הינו כגובה של העץ. מכיוון שרק קיצרנו את המסלולים המקוריים, אזי העומק של הקדקד הזה בעץ המקורי לפחות 𝑂(𝑙𝑜𝑔𝑙𝑜𝑔𝑛), בסתירה להנחה.

12 שאלה 6 נתון עץ חיפוש בינארי כלשהו עם לפחות שלושה צמתים. ייתכן שתוצאת סריקת inorder ותוצאת סריקתpreorder תהיינה זהות. נכון, כאשר העץ הוא שרשרת ימנית מהשורש אם מבצעים פעולת מחיקה בעץAVL על איבר הנמצא בשורש העץ, אזי בהכרח הגובה של העץ יקטן. לא נכון. למשל, אם נתון עץ מושלם עם 1 <n צמתים, מחיקת השורש לא תגרום לשינוי הגובה. בסריקת preorder של עץ חיפוש בינארי בגובהh יופיע האיבר המינימלי באחד מ- 1+h המקומות הראשונים. נכון. בסריקת preorder עוברים בשורש, ולאחריו רקורסיבית, בן שמאלי בן ימני. יוצא שעוברים תחילה על כל הצמתים במסלול השמאלי ביותר בעץ. כיון שהעץ הוא BST המינימום הוא הצומת הנמוך ביותר במסלול השמאלי הזה, ואורך הרשימה של הצמתים במסלול השמאלי ביותר אינו יכול להיות גדול מ 1+h.

13 שאלה 7 נתון עץ AVL ריק. מבצעים עליו n פעולות Insert. מה מהבאים נכון ?
זמן הריצה הכולל יהיה θ 𝑛 ומספר הרוטציות בהכרח 𝑂 𝑛 זמן הריצה הכולל יהיה θ 𝑛𝑙𝑜𝑔𝑛 ומספר הרוטציות בהכרח 𝑂 𝑁 זמן הריצה הכולל יהיה θ 𝑛 ומספר הרוטציות בהכרח Ω(nlogn) זמן הריצה הכולל יהיה θ 𝑛𝑙𝑜𝑔𝑛 ומספר הרוטציות בהכרחΩ(nlogn) אף תשובה אינה נכונה א. כמות הרוטציות באמת חסומה ע"י 𝑂 𝑛 אבל זמן ריצה לא יהיה Θ 𝑛 ב. זמן הריצה תלוי בכמות ההכנסות כפול זמן הכנסה בודדת, ולכן בסה"כ נשלם Θ 𝑛⋅ log 𝑛 ג. זמן הריצה הכולל אינו נכון ד. כמות הרוטציות יכולה להיות גם 𝑂(1) ולכן לא Ω(𝑛⋅ log 𝑛 )


Download ppt "יסודות מבני נתונים תרגול 9: שאלות חזרה."

Lignende præsentationer


Annoncer fra Google