מיונים: Θ(n²) Selection Sort. Θ(n²) WC. Insertion Sort. יהיו O(nlogn) השוואות) Θmax{n, k} = Θ(n + k) Counting Sort ההשוואת) Θ(k n) Radix Sort ההשואות)

Like dokumenter
תאור האלגוריתם הנחה שם Θ(c)

ערימות מינימום - Minimum Heaps הגדרה: שימושים: מימושים: מבנה נתונים שמוגדרות עליו הפעולות הבאות: MakeHeap. בניית ערימה מתוך Insert(x) איברי קלט.

מבני נתונים - תרגול 8 עצים

פתרונות לתרגיל 4. נתון עץ B עם פרמטר t א. מקסימלי של מפתחות שיכולים להיות בעץ )מהו n מקסימלי( כפונקציה של h ו- t. הראו את החישובים ונמקו.

Nir Adar עמוד 1

Hashing - לוברע :השורד תויכוביס : יללכה היעבה תרדגה

ח'/אדר/תשע"ב אלגוריתמים שיעור 1# נכתב ע"י אדם שפר אתר הקורס.

תרגיל מספר 10 מבנים אלגבריים

מבני נתונים - תרגול 3 מבני נתונים לינאריים

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

השאלות האיברים. אחרת נמיין את A i ברקורסיה.

>0. < lim =0 +4 =0, + =0

מבוא לרשתות - תרגול מס 4 Automatic Repeat request (ARQ) protocols: Go-Back-N, Selective-Repeat שאלה 1

הרצאות תוכן עניינים עקרונות בסיסיים של מניה... 3

מתכונתבמתמטיקה 1 - כיתהיא'

הבעיה: CV, EV, AV עודף הצרכן CS השפעות תחלופה והכנסה לפי היקס וסלוצקי "תועלת" משינוי במחיר כשטח. x 2. x 1 2. x** הצרכן מקסם את רווחתו וכעת...

תוכנה 1 אביב תשע"ה תרגיל מספר 8

אלגברה לינארית מספר יחידות לימוד

הנושא: "דטרמיננטים " דטרמיננט מסויימים. האנכית. לדוגמה : המינור ה- לדוגמא: עבור הדטרמיננט הנתון: או ( ). ( ) לדוגמא: C = = =

אלגברה ליניארית 1 א' פתרון 6

התקנת Turbo C שלב אחר שלב :

מספרים ראשוניים, מספרים טבעיים, מספרים שלמים, מספרים

פרופורציה, הרחבה, הכללה.

"לא הבנת את אבא שלך" לילך ניישטט בורנשטיין פגיס והחידה האוטוביוגרפית

לו ' ה גמב ירפה לדוגו לוביה תוסיו

תיקונים לשאלון 807 א.מ. ספרי מתמטיקה עמוד, 9 פתרון דוגמא, 2 סעיף ג', שתי השורות האחרונות צריך להיות: חישוב הנפח: V = a a 3a 0.

חשמל ומגנטיות קרינה וחומר

פרק א: קינמטיקה - תנועה לאורך קו ישר

פתרון מבחן מתכונת מס' 21. פתרון שאלה 1 נסמן: x מהירות ההליכה של נועם. y מהירות ההליכה של יובל. נועם 2.5x 2.5 x יובל בתנועה יובל במנוחה משוואה I:

46-47 מאמ "תים LZM1 עד 160A

שאלון 806 מבחן מס' 1

תוכנת VideoExp. פתח את תוכנת ה-.VideoExp לחץ על תפריט "קבצים" ואז על אופציית "פתח". פתח את

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

מונחים בביולוגיה מולקולרית ומבוא להנדסה גנטית

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

מרכז הלב היחידה לאלקטרופיזיולוגיה וקוצבי לב. מרכז הלב ע"ש לבייב The Leviev Heart Center פרפור פרוזדורים. חוברת מידע www. heart.sheba.co.

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

Medline Ebsco 2016 ינוי

םוליצב ןמזו תוילקיסקדניא

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

SUUNTO DIVE COMPUTER. Favor / Favor Lux / Favor Lux S / Fusion Lux S / Octopus II

כא"מ מושרה רשימת הציוד תיאור המערכת ורקע עיוני

תרגילי חזרה באלקטרומגנטיות קיץ תשס"ז שאלה 1. נתונים: g, m, V. d, h.

מבוא "אישיות" תלותית. עישון. וכו' וכו' וכו'. רגיל להתנהג.

דעדעלחיים

ניגוד העניינים אצל עורכי דין

לפרוץ את הדרך שלך. לקבוע את אמות המידה שלך. לעשות מעל ומעבר. אלו הם רק כמה מעקרונות הליבה של מאזדה שהנחו את הפיתוח של המאזדה 2.

äéâåìåéæéôåøè ìàå áåöé ì éìàøùéä âåçä THE ISRAEL WORKING GROUP ON PACING AND ELECTROPHYSIOLOGY CARDIOVERSION OF ATRIAL FIBRILLATION

פרק 3 הזדמנויות. לשחק."

THE PINHAS SAPIR CENTER FOR DEVELOPMENT TEL AVIV UNIVERSITY

טלוויזיה חכמה "65 תלת מימד,LED Smart TV ברזולוציית Ultra HD 4K עם פאנל,IPS אינדקס עיבוד תמונה 2700 PMI ועיצוב עוצר נשימה

ד"ר פיליפ סלובוצקי מדריך למורה מתמטיקה 01 ספר לימוד ותרגול לפי תכנית הלימודים החדשה ל- 4 י"ל כולל המחשות ותרגול מקוונים בית הלומדה מדריך למורה

חובות עורך הדין בנוגע לתצהירים

HP Deskjet 6980 series. Setup Guide

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

מה עוד תבקשי מאיתנו מכורה ואין ואין עדיין? יחידה ראשונה

תוכנית אב לניקוז מפרץ חיפה, הקריות ועמק זבולון- חלק ב '

תרפג ערב שבת קודש פרשת תצא

עקרונות הטיפול בקינזיולוגיה טייפינג

טרום הרדמה - סמי הרגעה, טשטוש ואופיאטים

2010 גג \ 22 1 בין דמויותיהם. מסה זו מנסה לפזר מקצת מן הערפל האניגמטי האופף את הספר טורים, ו, תרצ"ד 1933).

דעו מ ילע דעו מ ילע לרב תיב תימדקאה הללכמה לש םיגחה ןולע

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

פרטי המפיץ פרטי התשלום. Price List רשימת מחירים מספר זיהוי: _W_ שם המזמין:. כתובת למשלוח:.. מספר טלפון:...

תיאור הפרויקט הפרויקטים של BCP בדיסלדורף. בתים טיפוסיים בשכונת גרסהיים Grafenberg

Data Studio. Interfence_DoubleSlit.ds כרך: אופטיקה פיזיקלית ופיזיקה מודרנית

כל הזכויות שמורות נטתיק, היבואן הרשמי של DOD בישראל.

גורמים )"טריגרים"( להתקפים

נחשים ועולמם \ אהוד קלפון

AGREEMENT BETWEEN THE GOVERNMENT OF THE STATE OF ISRAEL AND THE GOVERNMENT OF THE KINGDOM OF NORWAY REGARDING MUTUAL ASSISTANCE IN CUSTOMS MATTERS

מכרז מסגרת לביצוע עבודות מיזוג אוויר ומערכות בקרה עבור אוניברסיטת חיפה

חוברת הפעלה טלוויזיה PLASMA דגמים X-60

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

ספר איוב וחכמת המזרח הקדמון

מדיח כלים רגיל דגם: DW-3000 מדיח כלים חצי אינטגראלי דגם: DW-3100

T <T:!T. I VTT: I V,TT לםיצהו.ו^ץ ( עשדרפ.רי. JWG?Vr&.

AIGRENT ביטוח דיר ייחודי לשוכר ולמשכיר

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

Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer

סניף רעננה רח התדהר 2 סניף ירושלים רח פייר קניג 40 א.ת. תלפיות סניף חיפה שד ההסתדרות 50 סוכנות חיפה סוכנות נצרת רח פאולוס השישי

deeegimnoorrrsstt Sjette forelesning

n/b log b n = (lg n) a log b n = n log b a

יחד בעשייה חברתית למען ילדים ונוער. ירושלים Jerusalem שולם P.P. שילוב והשתלבות

מצלמת וידאו HD דגמים HC-V100 HC-V100M

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

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


ינפל ןאולמב תוארוהה תא וארק אנ

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1

: םידחוימ םיכרצ םע םידלי םיתורישה ידי לע םיוסיכו םיכרצ תכרעה

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

מדריך השקעות לטווחים ארוכים מדריך 2013 מקצועי

IFRS 2. International Financial Reporting Standard 2. Share-Based Payment הבאות: הבאים לתקן דיווח כספי בינלאומי 2: מועד תחילה 1 בינואר 2010.

לאומית כסף/זהב או 507* מטלפון נייד חפשו אותנו בפייסבוק.

inf.org.il נשיא לשכת סוכני ביטוח מבקש מיו"ר ועדת הכספים של הכנסת לכנס דיון דחוף, בנוכחות המפקחת

אלוורה בית המרקחת של הטבע ריפוי חיצוני ריפוי פנימי

בית-הספר למדעי המעבדה הרפואית תואר ראשון (B.Med.L.Sc.)

תיתביבס תוירחא חוד Corporate Environmental Responsibility Report 2007

deeegimnoorrrsstt Sjette forelesning

ממטרד למשאב ניהול והשבת מי נגר עירוני בעיר רגישת מים מדריך המרכז לערים רגישות מים יו"ר המכון: דני עטר. The Center for Water Sensitive Cities in Israel

Transkript:

מיונים: מיון תיאור מילולי סיבוכיות Θ(n²) מעבר על כל האיברים ומציאת המקסימום, והשמתו בסוף המערך. חזרה על פעולה זו רקורסיבית על המערך פחות החלק האחרון (שמוין). Selection Sort Θ(n²) WC - Θ(n) BC כאשר לא מתקדמים מימין לשמאל כאשר ימין הוא החלק הממויין ושמאל החלק המתמיין. לוקחים את האיבר הימני ביותר בחלק השמאלי ומוצאים את מיקומו (הזמני )בחלק הימני. את חיפוש המיקום ניתן לעשות בחיפוש בינארי, ובמקום לפעפע את האיבר למקומו בחלק הימני, ניתן להזיז את כל אלו שצריך אחד שמאלה, ולשים אותו במקומו. מתקדמים שמאלה עד שנותר רק החלק הימני כל המערך ממויין. מתבצע חיפוש בינארי (אחרת יהיו O(nlogn) השוואות) ion Sort Θmax{n, k} = Θ(n + k) Counting Sort (לא תחת מודל ההשוואת) נתון מערך המכיל מספרים שלמים בטווח 1 עד k. בונים מערך C בגודל k ומערך B בגודל מערך הקלט, A. עוברים על כל מערך A, ועבור כל ערך i (בין 1 ל- k ) מוסיפים 1 ל-[ C[i. עוברים על מערך C מהתחלה וכל C[i] מעדכנים להיות C[i]+C[i 1] כל מקום מכיל את המיקום האחרון של המספר i במערך הממויין. עוברים על כל מערך A: לכל i שמופיע ב- A, בודקים ב-[[ C[A[i מה המיקום האחרון שלו במערך הממויין, ואז שמים את i ב- B במקום הזה. מעדכנים את המיקום האחרון להיות פחות אחד. Θ(k n) מיון למספרים שלמים הנמצאים בטווח של עד k ספרות: Radix Sort (לא תחת מודל ההשואות) ממיינים ב- sort (Θ(n)) counting לפי ספרת האחדות, לאחר מכן ספרת העשרות וכן הלאה עד הספרה ה- k חשוב ללכת מהספרה הנמוכה לגבוהה. O(nlogn) מחלקים את המערך ל- 2, מפעילים על כל אחד מהחצאים את האלגוריתם בצורה רקורסיבית, ובסוף ממזגים ב- n את שני החצאים הממויינים. Merge Sort בחלוקת המערכים נעצור כאשר נגיע לגודל קבוע כלשהו, שם יפסקו הקריאות הרקורסיביות. תתקבל נוסחת הנסיגה: Θ(n) T(n) = 2 T(n/2) + O(nlogn) נמצא את החציון m של מערך (ב-( O(n ), ונבצע partition על המערך (גם ב-( O(n ) פעמיים כך שנקבל את המערך מסודר לפי איברים גודלים, שווים וקטנים מ- m. Quick Sort נקרא רקורסיבית על שני חלקי המערך. נוסחת הנסיגה דומה לזו של.Merge sort גרסה כללית: נבחר pivot כלשהו במקום חציון. הערות: חציון מסורבל אך מבטיח סיבוכיות.O(nlogn) בחירה שרירותית ואקראית יתנו,O(n²) WC וממוצע.O(nlogn) עדיפה בחירה אקראית (הגרל (pivot כדי שלא יוכלו לצפות ולתכנן קלט גרוע כנגד. o o

חמישיות -.Θ(n) אלגוריתם החמישיות מציאת i -יון במערך מחלקים את המערך לחמישיות, ומוצאים את החציונים המדוייקים על כל חמישיה. מבצעים קריאות רקורסיביות (ב- (T(n/5) על מערך החציונים שקיבלנו עד שנקבל חציון יחיד שהוא חציון מקורב של המערך, מציאת חציון מדויק לחמישיות -.Θ(n) קריאה רקורסיבית למציאת חציון מקורב.T(n/5).1.2.3 נסמנו m..θ(n) - Partition נשתמש בשגרת partition שב-( O(n מסדרת את המערך לאיברים גדולים מ- m, שווים לו וקטנים ממנו (מימין לשמאל). תיאור 4. חלוקה ל- ו-<: 5. קריאה רקורסיבית על אחד מחלקי המערך לכל נאתחל את אינדקס i לתחילת המערך, ונריץ אינדקס j על המערך. אם נתקלנו באיבר קטן ממש מ- m, נחליפו עם האיבר במקום ה- היותר (10 + 12 / T(7n מתבצע ע"י חישוב של כמה i, ונעלה את i ב- 1. איברים (למשל) גדולים מ- m לכל הפחות =:x, ועל זה כעת בודקים את i: אם הוא נופל על m, אז ברור שהוא שווה ל- m. אחרת נבצע קריאה רקורסיבית על החלק המתאים (ימני או שמאלי גדול או קטן מ- m ). נבצע n-1-x כדי לקבל חסם עליון כמה איברים לכל היותר קטנים מ- m. זהה לכיוון השני.

מבני נתונים: הנחה יסודית: כל מצביע שיש לנו הוא דו כיווני. פעולות בזמן קבוע לתור עדיפויות, לכל המימושים: make priority queue() size(), empty?(), minimum(), Extract min Decrease key מימוש ערימות בינאריות תיאור: (ערימה יחידה) מקיים את תנאי הערימה: A[2i+1]} A[i] < min{a[2i], כל בן גדול מאביו. מעדכנים את size באחד. מבצעים heapify up עד הגעה לשימור תנאי הערימה. שומרים את הערך בשורש להחזרה אח"כ, מעדכנים את מכניסים את הערך החדש למקום האחרון בערימה (עם סיבוכיות: O(logn) גובה מקסימלי של הערימה. size פחות אחד. מפתח שידאג שיהיה במקום האחרון). נשים את האיבר האחרון בערימה במקום השורש. מבצעים עליו decrease key עם המפתח המקורי שקיבלנו נעשה לו heapify down עד שיתקיים תנאי הערימה. (שמבצע heapify up לשימור תנאי הערימה). סיבוכיות: O(logn) גובה מקסימלי של הערימה. סיבוכיות: O(logn) גובה מקסימלי של הערימה. ערימות בינומיות (קבוצת עצים בינומים) תיאור עצים בינומים: לכל דרגה k יש עץ ייחודי לה, כך שמספר האיברים בכל שורה שווה ל- k מעל מספר השורה (מקדם בינומי). עץ מדרגה k בעל בדיוק k^2 צמתים. עומק עץ בינומי מדרגה k הוא בדיוק k. תיאור ערימה בינומית: אוסף עצים בינומים מדרגות שונות, בצמתים מאוחסן מידע ומתקיים תנאי הערימה. ייצוג בינארי לערימה כל 1 מייצג שבערימה יש עץ בינומי מדרגה [מספר הספרה]. לכל צומת מצביע לבנו השמאלי ולאחיו (מהצדדים). שורשי כל העצים בערימה מקושרים. מחיקת שורש של עץ בינומי מדרגה k יוצרת k עצים בינומים מדרגות 0 עד 1 k. כמובן שיש מצביע ל- min ומשתנה.size יוצרים עץ בינומי חדש מדרגה 0 מהמפתח החדש. נבצע כמו בערימות בינאריות heapify up בעץ הרלוונטי. בעת סילוק ה- min יתפרק העץ שלו ל-( O(logn עצים. מבצעים SL כל עוד יש שני עצים בעלי אותה דרגה בערימה. סיבוכיות: O(logn) גובה מקסימלי של עץ בינומי בערימה נבצע חיבור בינארי של מה שהיה (בלי העץ שפורק) עם אם שניים משורשרים, השורש עם המפתח הקטן יותר יהיה האב. נעדכן את min במידת הצורך. בת n איברים (נניח וזה עץ יחיד בערימה). רשימת העצים שקיבלנו, לקבלת התמונה החדשה. נבצע.SL סיבוכיות: O(logn) (תלוי בהצגה הבינארית של n). סיבוכיות: O(logn) מאותם שיקולים.

Extract min Decrease key מימוש ערימות פיבונאצ'י (קבוצת עצי פיבונאצ'י) תיאור מקיימים את התנאים: שילוב שני עצים יתבצע רק אם הם בעלי אותה דרגה (אחד הופך לבן של השני). כאשר מנתקים בן מאביו (והוא הופך לשורש) מסומן האב, ובניתוק בן נוסף גם האב מתנתק מאביו (יכול לגרור סדרת ניתוקים), הופך לשורש בערימה, וספירת ניתוקי הבנים מתאפסת. מספר הקודקודים בעץ פיבונאצ'י מדרגה k הוא לפחות Fk (מספר פיבונא'צי באינדקס k כאשר = 2 F1 F0). =,1 כדאי לזכור על סדרת פיבונאצ'י: ;Fk = Fk 2 + Fk 3 + +F2 + 2 F1 + F0 חסם חשוב: 2^(k/2).Fk עץ בעל n קודקודים יהיה מדרגה לכל היותר,2logn כלומר.O(logn) יצירת עץ חדש והכנסת המפתח אליו (אין (SL אם מפר את כלל הערימה, ננתק את הצומת מאביו ונעבירו להיות שורש חדש בערימה (אחרת שנה את המפתח). אם אביו לא איבד בן, נסמנו. אם איבד ננתקו, ויתכן ויגרור ניתוקים נוספים. סיבוכיות: O(logn) בגלל חסם עליון של ניתוקים נגררים - O של כמות הניתוקים הנדרשת. מוציאים את ה- min בערימה. ואת כל בניו הופכים לשורשים מבצעים SL על כל הערימה כך שלא יהיה יותר מעץ אחד. סיבוכיות: O של מספר השורשים טרם ביצוע ה- E, עלול להיות גם.O(n) סיבוכיות O(logn) :amortized סיבוכיות O(1) :amortized סיבוכיות: (1)O סיבוכיות O(1) :amortized ניתוח amortized על מה כל אחד משלם: הכנסתו לערימה. ניתוקו והפיכתו לשורש בערימה. SL של לכל היותר 2logn העצים שנוצרו עכשיו. עלות חיבורו בעתיד ע"י SL של E. ניתוק עתידי של אביו. SL של לכל היותר 2logn העצים שנוצרו ע"י E הקודם. חיבור עתידי שלו ושל אביו בעת SL של E (אם הוא הבן הראשון שנותק ממנו, הבן השני לא צריך לשלם). סה"כ: (1)O SL של עצים שנוצרו מ- insert : לא משלם. SL של עצים שנוצרו מ- decrease key : לא משלם. סה"כ: O(logn) סה"כ: O(1) הערות לגבי ערימות: Extract ל- - ואחריו decrease key יתבצע ע"י :Delete לא ניתן לבצע find יעיל בערימות רק ב-( O(n..min (לפיכך) בערימות תמיד נקבל מצביע, בעצים נקבל ערך.

Extract min Decrease key מימוש Delete עץ אדום שחור (מימוש מילון ושימוש בפעולותיו) רגיל של העץ. ביצוע delete של הערך. הכנסת הערך מחדש לעץ עם המפתח הרצוי. לאיבר המינימלי המצביע לעוקב שלו. אליו תמיד יש מצביע, והזזת סיבוכיות: O(1) סיבוכיות: O(logn) סיבוכיות: O(logn) עצים בינאריים: עץ בו כל קודקוד הוא מדרגה 1 0, או 2. המפתח בכל קודקוד גדול מכל המפתחות בתת העץ השמאלי שלו, וקטן מכל המפתחות בתת העץ הימני שלו. עץ מאוזן הוא עץ שאורך כל מסלול בו הוא.O(logn) עצים אדומים-שחורים: לכל קודקוד יש שני בנים בדיוק. ערכים מוחזקים בצמתים, ובתחתית ישנם עלים שחורים ללא ערכים. האורך השחור זהה בין כל המסלולים מהשורש לעלים. אין שני אדומים משורשרים אחד אחרי השני. תכונות הנובעות מהנ"ל: עץ אדום שחור הינו עץ מאוזן, כלומר אורך כל המסלול הוא.O(logn) מימוש מילון באמצעולת עץ אדום-שחור (תיקון צבעים עמוד הבא): Find Delete מבצעים חיפוש (בינארי) עד לעלה בו אמור להיכנס הערך החדש. אם לקודקוד אין בנים עם תוכן, נמחק אותו ואת עליו, ונשים חיפוש בינארי. סיבוכיות: O(logn) מכניסים את הערך בתוך קודקוד אדום חדש עם שני עלים. במקום עלה (שחור). מבצעים תיקון במידת הצורך (הפרת הכלל האדום). אם יש לו בן אחד בלבד עם תוכן, נמחק אותו ואת בנו העלה ונשרשר ישירות את הסבא לבן עם התוכן. אם הופר הכלל סיבוכיות: O(logn) כתוצאה מחיפוש המיקום ותיקון צבעים האדום, נצבע את הבן בשחור (כיוון שאביו בטוח היה שחור). לאורך המסלול לשורש במידת הצורך. אם יש לו שני בנים עם תוכן, נמצא את העוקב/הקודם שלו, נמחק אותו ואת תוכנו נשים במקום תוכן הקודקוד שרוצים למחוק. סיבוכיות: O(logn) למשל למקרה השלישי ותיקון צבעים.

תיקון צבעים ל- insert במקרה של הפרת הכלל האדום הבן שהוכנס ואביו אדומים: הבן הוכנס ישירות תחת שורש העץ הדוד גם אדום (הסב כמובן שחור) הדוד שחור, הבן בקו אחד עם האבא והסבא הדוד שחור, הבן לא בקו אחד עם האבא והסבא נשנה את שורש העץ לשחור לא פוגע בכלל השחור כי משנה את האורך השחור לכל המסלולים. נחליף את הסבא לאדום ואת האבא והדוד לשחור. כך חלחלנו את האדום מעלה, ואם יש שם בעיה נמשיך לפי המקרה המתאים. נבצע סיבוב סביב הסבא, ונחליף צבעים בין הסבא לאבא (הסבא נהיה אדום, האבא נהיה שחור). נבצע סיבוב סביב האבא כדי להביא את הסבא-בן-אבא לקו אחד (בסדר זה) ומשם למקרה הקודם (בו האבא והבן החליפו תפקידים). תיקון צבעים ל- delete במקרה של הפרת הכלל השחור הבן שנמחק היה שחור, נסמן במקומו "שחור כפול": לשלושת המקרים הראשונים: שורש תת העץ שחור/אדום עם בן שחור כפול ובן שחור. לבן השחור יש בן חיצוני אדום ובן פנימי שחור/אדום סיבוב שמאלה ואיזון צבעים. לבן השחור יש בן חיצוני שחור ובן פנימי אדום סיבוב ימינה לתת-העץ ששורשו הבן השחור והחלפת צבעים לכדי הגעה למקרה 1. לבן השחור שני בנים שחורים השחור הכפול מתחלף עם האדום/שחור, והבן השחור הופך אדום. הבעיה עברה למעלה..1.2.3 רק למקרה האחרון: שורש תת העץ שחור עם בן שחור כפול ובן אדום. לבן האדום שני בנים שחורים (מן הסתם) סיבוב שמאלה והחלפת צבעים בין הסבא לאבא, וקיבלנו בתת העץ השמאלי את אחד המקרים הקודמים..4