פורסם 2012 ביולי 1313 שנים נניח שהמחלקה שלהלן מממשת עת חיפוש בינארי (עץ ממוין) לכל אובייקט במחלקה NODE יש גם שדה _father שמצביע על האב public class Node{ private int _number; private Node _leftSon, _rightSon, _father; public Node (int number){ _number = number; _leftSon = null; _rightSon = null; _father = null;}public int getNumber(){return _number; }public Node getLeftSon(){return _leftSon; }public Node getRightSon(){return _rightSon; }public Node getFather(){return _father; }} נתונות 3 השיטות הבאות: public static Node what (Node root){ if (root == null) return null; if (root.getRightSon() != null) return f (root.getRightSon()); return g (root);} public static Node f(Node root){ if (root.getLeftSon() == null) return root; return f (root.getLeftSon());} public static Node g (Node node){ if (node.getFather() == null) return null; if (node.getFather().getLeftSon() == node) return node.getFather(); return g(node.getFather());} הבעיה שלי היא שאני טיפה מבולבל מה קורה בכל פעם שאני מחזיר בן, האם אני נשאר באותו מקום בו החזרתי או חוזר בחזרה לאותו קודקוד שהחזרתי ממנו את הבן ? ועוד שאלה אחת: מה מבצעת השיטה what כאשר היא מקבלת צומת כלשהו בעץ חיפוש בינארי כלשהו ? הסבירו בקצרה מה מבצעת השיטה ולא כיצד היא מבצעת זאת. מה משמעותו של הערך שהוחזר ? (הפרמטר המועבר אינו בהכרח שורש העץ)
פורסם 2012 ביולי 1413 שנים תנסה קודם כל להבין מה f עושה, כי היא יחסית פשוטה. תנסה להבין מה המשמעות של כזה בהינתן שזה עץ חיפוש בינארי.אחר כך תנסה להבין מה g עושה. זה קצת יותר מורכב מ-f.משם תנסה להבין מה what עושה.לא כל כך ברורה לי השאלה הראשונה שלך. מה זאת אומרת "נשאר באותו מקום"?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.