שאלה בנושא עץ בינארי. (העץ הבינארי מוגדר ע"י BinNode, ולו שלוש תכונות: value, left, right, עם get/set לכל אחת; יש גם פעולת eraseFirst/EraseFirst שלהלן שאין להשתמש בה — היא רק המחשה: מחזירה מחרוזת תת-מחרוזת ללא התו הראשון, ומטפלת גם במחרוזת ריקה.)
שאלה בנושא עץ בינארי. (העץ הבינארי מוגדר ע"י BinNode, ולו שלוש תכונות: value, left, right, עם get/set לכל אחת; יש גם פעולת eraseFirst/EraseFirst שלהלן שאין להשתמש בה — היא רק המחשה: מחזירה מחרוזת תת-מחרוזת ללא התו הראשון, ומטפלת גם במחרוזת ריקה.)
public class BinNode<T> {
private T value;
private BinNode<T> left;
private BinNode<T> right;
public BinNode(T value) { this.value = value; this.left = null; this.right = null; }
public T GetValue() { return value; }
public void SetValue(T value) { this.value = value; }
public BinNode<T> GetLeft() { return left; }
public void SetLeft(BinNode<T> left) { this.left = left; }
public BinNode<T> GetRight() { return right; }
public void SetRight(BinNode<T> right) { this.right = right; }
}
עץ הדוגמה מהשאלון (str="help" מחזיר true דרך h-e-l-p)
h
/ \
n e
/ / \
p u l
/
p
\
u
סעיף א
ממשו את הפעולה החיצונית שלהלן: הפעולה מקבלת מחרוזת str (לפחות תו אחד) והפניה לעץ בינארי של תווים tree (אינו null). הפעולה תחזיר true אם קיים מסלול המתחיל בשורש העץ שבו רצף התווים שבצמתיו זהה למחרוזת str, אחרת תחזיר false. הערה: אות קטנה ואות גדולה אינן זהות זו לזו.
public static bool WordFromRoot (BinNode<char> tree, string str)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.