חזרה, מיונים פולינה לוצקר

Similar documents
קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מבני נתונים תרגיל 4 פתרון

יסודות מבני נתונים. תרגול :9 ערימה - Heap

Depth-First Search DFS

תרגול 11 תור עץ חיפוש בינארי

Practical Session No. 13 Amortized Analysis, Union/Find

פרק מיון וחיפוש - לשם מה? הגדרה

תרגול 8. Hash Tables

מבוא לתכנות ב- JAVA תרגול 7

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה.

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

תרגול נושאי התרגול כעץ חיפוש בינארי : העץ הימני. Inorder(x) 1) if x NULL 2) then Inorder(left(x)) 3) print key[x] 4) Inorder(right(x))

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

סיכום מבני נתונים )שיעור( מרצה: אלכס סמורודניצקי. להערות: אמיר נווה

בוחן בתכנות בשפת C בצלחה

תכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1

אוניברסיטת בן גוריון בנגב

פרק היררכי

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן.

עצים ועצי חיפוש חומר קריאה לשיעור זה. Chapter 5.5 Trees (91 97) Chapter 13 Binary Search Trees ( )

הקיטסיגול הרבחה יעדמל בלושמה גוחה

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

שאלה ) 1 מבחינה של פרופ' נוגה אלון ( G V עם משקלים על הקשתות, ונתון עץ פורש מינימלי של G. נניח

קובץ שאלות פתורות אביב 2102

ASP.Net MVC + Entity Framework Code First.

תרגול מס' 01 אלגוריתם דיניץ

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

מבוא למחשב בשפת פייתון

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

אלגוריתמים 1 דפי עזר

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

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

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

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

Reflection Session: Sustainability and Me

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

מערכים Haim Michael. All Rights Reserved.

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

המבנה הגאומטרי של מידה

סיבוכיות זמן ריצה רדוקציות ושלמות ב- NP המחלקה P הגדרה: = המחלקה NP הגדרה: שפה סגירות שפות הגדרה: רדוקציה

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית (MODULE E) בהצלחה!

סוגי פניות בתוכנית הלימודים עיוני משולב מעשי 180 דקות 4 שיעורים

מבוא למחשב בשפת Matlab

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

אוניברסיטת בן גוריון בנגב

A R E Y O U R E A L L Y A W A K E?

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

במבוא מורחב למדעי המחשב בשפת פייתון

מושגים בסיסיים תלמידים והורים יקרים,

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

Genetic Tests for Partners of CF patients

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

שאלון ד' הוראות לנבחן

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

אוסף תרגילים למעבדה ביוניקס - 4

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

שאלון ו' הוראות לנבחן

פרק רשימה א. ייצוג הרשימה

למבחן ביסודות מדעי המחשב דוגמא

Extended Introduction to Computer Science CS1001.py Lecture 25: Summary

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

חומר עזר בשימוש: הכל )ספרים ומחברות( קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( 2 שאלות )בחירה מ - 4( סה"כ 50 נקודות

Information The marks for questions are shown in brackets. The maximum mark for this paper is 40. You must not use a dictionary.

Theories of Justice

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

Patents Basics. Yehuda Binder. (For copies contact:

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

שאלון ו' הוראות לנבחן

4...Informed Search Strategies Partial Order Planning 29...Hierarchical Decomposition Reenforcement Learning 40...Unsupervised Learning

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

הצעת תשובות לשאלות בחינת הבגרות אנגלית

(MODULE E) ב ה צ ל ח ה!

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה.

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

A-level MODERN HEBREW 7672

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

Transcription:

חזרה, מיונים פולינה לוצקר מבני נתונים ואלגוריתמים

שיעורי בית- תזכורת.20.11 יש להגיש את התרגיל במערכת submit עד השעה 23:55 יש לממש את הערימה בחלק השני לבד- אני אבדוק! בתאריך יש להשתמש אך ורק במיון ערימה ויש לממש את המיון בעצמכם. תהיה בדיקת העתקה. יש לתכנת בpython3 ואך ורק 3. בפייתון לכתוב שם ות''ז!

תזכורת-עצים בינאריים עץ: גרף קשיר ללא מעגלים. עץ בינארי: עץ מכוון, שבו לכל קודקוד יש לכל היותר שני בנים. עץ חיפוש בינארי: מקיים את התכונה שלכל צומת, כל ערכי הצמתים בתת העץ הימני שלו גדולים מערך הצומת, וכל ערכי הצמתים בתת העץ השמאלי שלו קטנים מערך הצומת. מעבר על עצים: In-order,posr-order,pre-order שאלה: באיזה מעבר נרצה לעבור על עץ חיפוש בינארי כדי להדפיס את הערכים ממוינים?

תזכורת-עצים בינאריים עץ: גרף קשיר ללא מעגלים. עץ בינארי: עץ מכוון, שבו לכל קודקוד יש לכל היותר שני בנים. עץ חיפוש בינארי: מקיים את התכונה שלכל צומת, כל ערכי הצמתים בתת העץ הימני שלו גדולים מערך הצומת, וכל ערכי הצמתים בתת העץ השמאלי שלו קטנים מערך הצומת. מעבר על עצים: In-order,posr-order,pre-order שאלה: באיזה מעבר נרצה לעבור על עץ חיפוש בינארי כדי להדפיס את הערכים ממוינים? In-order

עצים מאוזנים משפחה של עצים בינאריים תקרא מאוזנת אם כל עץ במשפחה המכיל n קודקודים גובהו O. logn שאלה לתזכורת: למה עדיף לעבוד עם עצים מאוזנים?

עצים מאוזנים משפחה של עצים בינאריים תקרא מאוזנת אם כל עץ במשפחה המכיל n קודקודים גובהו O. logn שאלה לתזכורת: למה עדיף לעבוד עם עצים מאוזנים? תכונה זו מבטיחה שניתן יהיה לחפש בעץ, להכניס ולהוציא ממנו נתונים בסיבוכיות O logn כאשר n הוא מספר הצמתים בעץ.

עצים מאוזנים

עצים מאוזנים 2-3 עצי AVL עצי

עצי AVL -תזכורת

שאלה AVL מבוצע איזון של העץ בצומת אחד לכל AVL מבוצע איזון של העץ בצומת אחד לכל הוכח/הפרך: 1.בעת הכנסת איבר חדש לעץ היותר. 2.בעת מחיקת איבר קיים מעץ היותר

שאלה. הוכחה- בבית. 1 אם נמחק את 15 מהעץ מהבא: )שב(. הפרכה- 2 50 25 75 15 40 35 60 80 59 62 90 61

מיונים

מיונים מיוני השוואה המקרה הכי טוב מיוני לא השוואה- מיונים עם הנחות נוספות על הקלט -

שאלה הגדר "מיון יציב" ותן דוגמה למיון יציב ודוגמה למיון לא יציב.

שאלה הגדר "מיון יציב" ותן דוגמה למיון יציב ודוגמה למיון לא יציב. מיון נקרא מיון יציב אם הוא שומר על הסדר של הנתונים לאחר המיון גם כשיש שני נתונים זהים. דוגמה למיון יציב: מיון מיזוג. דוגמה למיון לא יציב: מיון ערימה.

מיוני השוואה מיון בועות מיון Insertion-Sort מיון Quick-Sort מיון Merge-Sort מיון Heap-Sort

-QUICK-SORT הרעיון הבסיסי,A[l..i-1] עובד באופן רקורסיבי- גישה של "הפרד ומשול". איבר הציר יהיה הרעיון של האלגוריתם: בכל שלב ממיינים מערך A[l.r] נבחר איבר מהמערך שאנחנו מימנים A[p] שיהיה איבר הציר (pivot( נחלק את המערך ל 3 חלקים: האיבר שקטנים מאיבר הציר שהם בעצם במקום ה[ A[i,האיברים שגדולים מאיבר הציר [ A[i+1 r.)הפרד( נמיין רקורסיבית את A[l i-1] ואת [ A[i+1..r )משול( A[l...i-1] P A[i+1...r] האיברים שגדולים מ- P נפעיל את quick-sort עליו האיברים שקטנים מ- P נפעיל את quick-sort עליו

-QUICK-SORT נשים לב מצאנו את המיקום של הערך במערך הסופי! P האיברים שגדולים מ- P נפעיל את quick-sort עליו האיברים שקטנים מ- P נפעיל את quick-sort עליו

QUICK-SORT איך בוחרים את איבר הציר? איך נסדר את האיברים כך שמי שקטן יהיה לפני איבר הציר? נהוג לקרוא לפעולה Partition

PARTITION-EXAMPLE

PARTITION קוד פסאדו -

QUICK-SORT קוד פסאדו Quicksort(A, low, high) { // If we are not in the base case If(high>low): // Partition the array using pivot value pivot = partition(a, low, high) הקריאה תראה כך: A is an array Quicksort(A, 0,len(A)-1) // Quicksort left partition recursively Quicksort(A,low,pivot-1) } // Quicksort right partition recursively QuickSort(A,pivot+1,high)

QUICK-SORT

QUICK-SORT זמני ריצה נסתכל על נוסחת הנסיגה: כאשר T n = θ n + T i + T(n i 1) T(0) = T(1) = 1 i הוא גודל הבלוק הראשון לפי ההפרדה לפי איבר הציר. נשאל את עצמנו: מהו המקרה הממוצע? מהו המקרה האופטימלי? מהו המקרה הגרוע? שאלה: במה זה תלוי?

QUICK-SORT זמני ריצה נסתכל על נוסחת הנסיגה: כאשר T n = θ n + T i + T(n i 1) T(0) = T(1) = 1 i הוא גודל הבלוק הראשון לפי ההפרדה לפי איבר הציר. נשאל את עצמנו: מהו המקרה הממוצע? מהו המקרה האופטימלי? מהו המקרה הגרוע? שאלה: במה זה תלוי? בבחירה של איבר הציר!

QUICK SORT המקרה הגרוע במידה ונתון מערך ממוין מהקטן גדול, האיבר הקטן ביותר )או הגדול ביותר( בכל קריאה רקורסיבית המערך 1] ולמערך A[l+1,n] ונבחר כל פעם את איבר הצירלהיות A[l,l- נבצע קריאה רקורסיבית למערך A[l,r] וסך הכול נקבל את הנוסחה: T n = cn + T n 1 = cn + c n 1 + T n 2 = c n i=1 i = θ(n 2 )

מיונים שאינם מיוני השוואה

COUNTING SORT

COUNTING SORT

תרגיל נניח שמשנים את לולאת ה- forהאחרונה באופן הבא: For j=1 to len(a) האם לאחר השינוי האלגוריתם עדיין עובד? האם הוא יציב?

תרגיל נניח שמשנים את לולאת ה- forהאחרונה באופן הבא: For j=1 to len(a) האם לאחר השינוי האלגוריתם עדיין עובד? האם הוא יציב? פיתרון: האלגוריתם עדיין עובד אך לא יציב, מכיוון שכאשר יש 2 ערכים זהים, והכנסו כבר את הראשון, הבא יוכנס לפניו. לכן אם הלולאה פועלת בסדר עולה במערך איבר "מאוחר" יותר יוכנס לפני איבר "מוקדם" יותר.

BUCKET SORT דוגמה מויקפדיה

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

BUCKET SORT מיון דלי רץ בזמן ריצה ממוצע לינארי, הוא מניח שהקלט מורכב ממספרים המפולגים התפלגות אחידה. למה אנו דורשים התפלגות אחידה? על מנת לשמור על יעילות לינארית. במידה ולתא אחד נכנסו O n איברים, מיונם ייקח ) n.o(nlog המעבר על שאר התאים הינו O m ולכן נגיע לזמן ריצה m) O(nlog n + O n m איברים. בהנחה והפיזור אחיד,נצטרך למיין m תאים שבכל אחד מהם למיין כל אחד מהם לוקח ) n )O n log וגם צריך לקחת בחשבון את m m המעבר על התאים )במידה וm יותר גדולה בסדר גודל מn ( וודאו שאתם יכולים להגיע מפה ליעילות לינארית.

LSD RADIX SORT LEAST-SIGNIFICANT-DIGIT RADIX SORT מיון זה פותר בעיית מיון מספרים בעלי מספר ספרות, באופן הפוך לדרך בה אנו ממינים את המספרים, הוא מתחיל למיין לפי הספרה הפחות משמעותית ולאחר מכן ממיין לפי הספרות השונות כך שמערך ימוין לפי הספרה המשמעותית רק בסוף התהליך. המיון בו משתמשים לצורך מיון כל סיפרה חייב להיות יציב, כך שאינו יחליף את הסדר היחסי בין איברים שווים, בעת המיון.

RADIX SORT LSD

RADIX SORT MSD RADIX SORT MOST SIGNIFICANT DIGIT מיון זה יוצר מיון לקסיקוגרפי. נמיין לפי הספרה הראשונה- נחלק לקבוצות. ואז בכל אחת מהקבוצות מבצעים שוב פעם. בניגוד ל LSD זהו מיון רקורסיבי!

RADIX SORT MSD

תרגיל בהינתן רשימת מספרים טבעיים בין 1 ל 100 עם 5000 ערכים, אם המערך ממוין- באיזה אלגוריתם מאלגוריתמי המיון שלמדנו יהיה היעיל ביותר?

תרגיל בהינתן רשימת מספרים טבעיים בין 1 ל 100 עם 5000 ערכים, אם המערך ממוין- באיזה אלגוריתם מאלגוריתמי המיון שלמדנו יהיה היעיל ביותר? Insertion sort המיון הינו O n לכל מערך ממוין.

תרגיל- בעיית הבחירה- SELECT i n נתונה רשימה L באורך רוצים למצוא את האיבר ה- בגודלו.

תרגיל- בעיית הבחירה i n נתונה רשימה L באורך רוצים למצוא את האיבר ה- בגודלו. הצעה לפתרון: 1. מיין את המערך. 2. החזר את איבר ה- i. יעילות:( O(nlogn

תרגיל- בעיית הבחירה i n נתונה רשימה L באורך רוצים למצוא את האיבר ה- בגודלו. פתרון 2 )הסתברותי(:

תרגיל-ניתוח זמן ריצה

תרגיל- המשך ניתוח זמן ריצה

המשך המשך ההוכחה יופיע כתרגיל בית!

גרפים

גרפים-הגדרות

גרפים- המשך הגדרות

גרף ממושקל

ייצוג גרפים-רשימת שכנויות

ייצוג גרפים- רשימת שכנויות

ייצוג גרפים- מטריצה

ייצוג גרפים- מטריצה

ייצוג גרפים- מטריצה

תרגיל.1 n נתונה רשימה לא ממוינת של קשתות. נתונות m קשתות כאשר כל קשת היא זוג מספרים בטווח בנו רשימות סמיכויות ממוינות בזמן (m O(n +

תרגיל.1 n נתונה רשימה לא ממוינת של קשתות. נתונות m קשתות כאשר כל קשת היא זוג מספרים בטווח בנו רשימות סמיכויות ממוינות בזמן (m O(n + פתרון: Radix sort

תרגיל- דוגמה E = )(5,3),(2,3),(4,5),(4,3),(3,2),(1,2),(3,3),(1,4),(2,5) ( מיון לפי "ספרה" ימנית שמלאית מיון לפי "ספרה (3,3) (4,3) (1,2) (2,3) (2,5) (1,4) (2,5) (3,3) (4,5) (3,2) (5,3) (1,4) (4,5) (1,2) (2,3) (3,2) (4,3) (5,3)