עצים בינארים

רן המלך2

New member
עצים בינארים

מישהו יכול להסביר לי קצת על חיפוש רקורסיבי בעצים בינארים או לתת קישור לאתר טוב (אפשרי גם באנגלית) שמסביר את העניין לעומק?
 

gil levi

New member
בקצרה

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