Description
יש לקרוא היטב לפני תחילת העבודה!
מבוא:
במעבדה הנוכחית נממש עצי חיפוש בינאריים.
רקע:
הגדרה1 (עץ בינארי):
עץ שלכל אחד מהצמתים הפנימיים שלו לכל היותר שני בנים, נקרא עץ בינארי
הגדרה 2 (עץ חיפוש בינארי):
עץ בינארי בו מפתחות של כל הצמתים הנמצאים בתת-עץ שמאלי קטנים ממפתח של שורש העץ וכלהמפתחות של כל הצמתים הנמצאים בתת-עץ ימני גדולים ממפתח של שורש העץ, נקרא עץ חיפוש בינארי.
דוגמא לעץ חיפוש בינארי:
הממשק הגנריComparable (ממשק עם שיטה אחת בלבד)
https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html
תאור התרגיל:
1) כתבו מחלקהPerson המכילה מידע על אנשים.
package il.ac.telhai.ds.misc :המחלקה תשב בחבילה:שדות המחלקה
String id;
String firstName;
String lastName;
2) הוסיפו למחלקה בנאי המקבל ערכים לשלשת השדות, והוסיפוgetters וsetters לשדות, מלבד
.id- לset
3) בנוסף, המחלקהPerson תממש את הממשק >Comparable<Person, כאשר הסדר נקבעלקסיקוגרפית לפיid בלבד. שני מופעים שלPerson בעליid זהים – יחשבו לאותו ה-Person.
4) הוסיפו מתודותhashCode, equals כפי שניתן להוסיף באופן אוטומטי ב-eclipse (לחצו על
. בלבדid לפי השוואת,intlij- ובדומה ב(source → generate hashCode and equals
(שאלה: מדוע חשוב להוסיף מתודות אלו?)
5) .Person- לtoString הוסיפו מתוד
“Person [id=” + #id + “, firstName=” + #firstName + “, lastName=” + #lastName + “]” .field רושמים את ערך השדה#field כאשר במקום
ניתן להשתמש באפשרות האוטומטית של סביבת העבודה (ב-eclipse לחצו על →source generate toString).
6) השלימו את המחלקהBinarySearchTree הנתונה לכם.
מחלקה זו נמצאת בחבילה:package il.ac.telhai.ds.trees מחלקה זו מממשת עץ חיפוש, כאשר ההשוואה של האיברים מתבצעת לפיcompareTo .
סדר העבודה ופרטים טכניים
: בקישורGITHUB מתוךDS-Lab07-SearchTree שליפת הפרויקט●
https://github.com/ykanizo/DSLab2022-2023Public
○ אם אין לכם גישה לפרויקט שהורדתם מGITHUB במעבדות הקודמות יש לבצע שליפהמחדש.
○ אם יש לכם גישה לפרויקט שהורדתם מGITHUB במעבדה הראשונה אז בצעו:
■ קליק על שם הפרויקט.
■ עכבר ימני
Team–>Pull ■ File–>Import->Git->Projects From Git->Existing Local Repository ■
פורמט קובץ ההגשה ובדיקתו:
בשםZIP פורמט : יש להגיש קובץ43_lab07_123456789_987654321.zip
(כמובן, יש להחליף את המספרים עם מספרי ת.ז. של המגישים).
על הקובץ להכיל את כל קבצי הJAVA שכתבתם כאשר הם נמצאים בתיקייה
il/ac/telhai/ds/treesכלומר, השורש של קובץ ההגשה יכיל רק תיקייה בשםil .
ומכיל את כל קבצי -java . להמחשה תמונה של קובץ כזה שנפתח ב -WindowsExplorer
בדיקת קובץ ההגשה: בדקו את הקובץ שיצרתם בתוכנת הבדיקה בקישור:
https://csweb.telhai.ac.il/ראו סרטון הדגמה של השימוש בתוכנת הבדיקה.
חשוב!!!
בדיקת ההגשות תבוצע ברובה ע”י תוכנית הבדיקה האוטומטית הנ”ל. תוצאת הבדיקה תהייהבעיקרון זהה לתוצאת הבדיקה הנ”ל שאתם אמורים לערוך בעצמכם . כלומר, אם ביצעתם אתהבדיקה באתר החוג, לא תקבלו הפתעות בדיעבד. אחרת, ייתכן שתרגיל שעבדתם עליו קשהייפסל בגלל פורמט הגשה שגוי וכו.’ דבר שהיה ניתן לתקנו בקלות אם הייתם מבצעים את הבדיקה.
היות ואין הפתעות בדיעבד, לא תינתן אפשרות של תיקונים, הגשות חוזרות וכד.’הגשה שלא מגיעה לשלב הקומפילציה תקבל ציון 0.
הגשה שלא מתקמפלת תקבל ציון נמוך מ- 40 לפי סוג הבעיה.
הגשה שמתקמפלת תקבל ציון 40 ומעלה בהתאם לתוצאות הריצה, ותוצאת הבדיקה הידנית שלהקוד (חוץ ממקרה של העתקה).
תכנית הבדיקה האוטומטית מכילה תוכנה חכמה המגלה העתקות. מקרים של העתקות יטופלובחומרה




Reviews
There are no reviews yet.