נתונה המחלקה Range - טווח, ולה שתי תכונות:
low - מספר מטיפוס שלםhigh - מספר מטיפוס שלם (low <= high)
הניחו שיש פעולות set/Set get/Get בעבור תכונות המחלקה.
מספר כלשהו, x, "מוכל" בעצם מטיפוס Range אם הוא נמצא בטווח המספרים שבין low ובין high.
שרשרת חוליות lst1 מטיפוס שלם "מוכלת" בשרשרת חוליות lst2 מטיפוס Range אם בעבור כל מספר בשרשרת lst1 קיימת חוליה בשרשרת lst2 המכילה אותו.ממשו את הפעולה החיצונית שלהלן:
Java: public static boolean isIncluded (Node<Integer> lst1, Node<Range> lst2)
C#: public static bool IsIncluded (Node<int> lst1, Node<Range> lst2)
הפעולה מחזירה true אם lst1 "מוכלת" ב־ lst2, אחרת היא מחזירה false.
הפעולה חייבת לעבוד בסיבוכיות זמן ריצה של O(N) כאשר N הוא אורך השרשרת הארוכה יותר מבין שתי השרשראות.
הנחות:
lst1 ו־lst2 אינם null.lst2 כל העצמים מטיפוס Range אינם null.lst1 ממוינת בסדר עולה.lst2 ממוינת בסדר עולה, כלומר, ערך ה־high של כל חוליה קטן מערך ה־low של החוליה הבאה אחריה בשרשרת.נתונה המחלקה Range - טווח, ולה שתי תכונות:
low - מספר מטיפוס שלםhigh - מספר מטיפוס שלם (low <= high)
הניחו שיש פעולות set/Set get/Get בעבור תכונות המחלקה.
מספר כלשהו, x, "מוכל" בעצם מטיפוס Range אם הוא נמצא בטווח המספרים שבין low ובין high.
שרשרת חוליות lst1 מטיפוס שלם "מוכלת" בשרשרת חוליות lst2 מטיפוס Range אם בעבור כל מספר בשרשרת lst1 קיימת חוליה בשרשרת lst2 המכילה אותו.ממשו את הפעולה החיצונית שלהלן:
Java: public static boolean isIncluded (Node<Integer> lst1, Node<Range> lst2)
C#: public static bool IsIncluded (Node<int> lst1, Node<Range> lst2)
הפעולה מחזירה true אם lst1 "מוכלת" ב־ lst2, אחרת היא מחזירה false.
הפעולה חייבת לעבוד בסיבוכיות זמן ריצה של O(N) כאשר N הוא אורך השרשרת הארוכה יותר מבין שתי השרשראות.
הנחות:
lst1 ו־lst2 אינם null.lst2 כל העצמים מטיפוס Range אינם null.lst1 ממוינת בסדר עולה.lst2 ממוינת בסדר עולה, כלומר, ערך ה־high של כל חוליה קטן מערך ה־low של החוליה הבאה אחריה בשרשרת.