Upload
dean-hood
View
30
Download
1
Embed Size (px)
DESCRIPTION
אחסון (אירגון) מידע. DATA Link. DATA Link. DATA Link. …. …. הערה : כל יחידה מכילה 2 שדות – מידע וקישור ליחידות אחרות. מטרה : אחסון ועיבוד מספר רב של יחידות מידע. מילת מפתח – יעילות !. 1. יעילות האחסון ( מקום ) – תוספת של מקום מעל ההכרחי, ניצול מקום. - PowerPoint PPT Presentation
Citation preview
אחסון )אירגון( מידע
DATA
Link
DATA
Link
DATA
Link … …
. שדות – מידע וקישור ליחידות אחרות2: כל יחידה מכילה הערה
: אחסון ועיבוד מספר רב של יחידות מידע. מילת מפתח – מטרה!יעילות
( – תוספת של מקום מעל ההכרחי, ניצול מקוםיעילות האחסון ) .1.מקום
זמן עבור ביצוע פעולות על המידע. כגון ( –זמן) יעילות העיבוד .2 ...חיפוש, מחיקה, הכנסת, גישה לאיבר במבנה
אחסון לינארי סידרתי
– אחסון מערךדרך מוכרת: .סידרתי
:מאפיינים
: מוגבל, ביזבוז כללי, חסכוני לכל יחידהמקום .1 .
...O(1), גישה לאיבר - O(n)2. הכנסה,הוצאהזמן : -
ניתן לפתור חלק מהבעיות, אבלהערה: ...
: באופן כללי לא מספקמסקנה .
אחסון לינארי מקושר
DATANEXT
POINTER
DATANEXT
POINTER
DATANULL
HEADTAIL
. . .
הוספת איבר
P-new
Pointer
Start
הוספת איבר
P-new
Pointer
Start
מחיקת איברPointer
Start
מחק את זה
מחיקת איבר
Pointer
Start
מחק את זה
רשימה מקושרת
:מאפיינים
: לא מוגבל, אין ביזבוז באופן כללי, הוספה של מקום .1 .מצביע
...O(n), גישה לאיבר - O(1)2. הכנסה,הוצאהזמן : -
: שיפור מסוים ביחס למערך, הבעיה העיקרית – זמן מסקנה.גישה
רשימה מקושרת דו-כיוונית
DATANEXT
PRE
DATANEXT
PRE
DATANEXT
PRE
.שיפור יחסי בזמן גישה, הוספת מצביע
Stack (מחסנית) 1מימוש :
: מחסנית רובה, ניירות על אינטואיציההשולחן
LIFO מילת מפתח:
פקודות:
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
: פקודות נוספות לא אפשריותהערה
מחסנית במערך
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
1st2nd
i-top
סיבוכיות )מחסנית במערך(
: מה עושים כשמערך מתמלא?בעיה
Doubling: שיטת ההכפלה פתרון
(n)( הקצה מקום מסוים לטבלה 1
n( כשהמקום מתמלא והטבלה מכילה 2אלמנטים:
2nא( הקצה מקום חדש לטבלה בגודל איברים לטבלה החדשה.העתקב( טבלה ישנה.שחררג(
סיבוכיות )מחסנית במערך(
PER OPERATION( : INSERT)( עבור פעולת ?1
1(O) אם אין הכפלה •
n(O) אם יש הכפלה •
AMORTIZED COST
.בור פעולה במקרה הגרוע ביותרע ממוצע חשוב זמן •
n הוא סכום הפעולות על n(T , כאשר )T)n(/n שווה ל: •איברים.
AMORTIZED COST O(1)
מחסנית ברשימה מקושרת
p-top
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
p-top
p-top
שימוש במחסנית
w$wR תוכנית לבדיקת פלינדרום:abcda$adcba :דוגמא
)}][{()[בדיקת תקינות של סוגרים:)]]}{[}{)([()}][{(
קריאה Prog Aלפונקציות:
.
.
x= 17
Call B
.
.
B)(
.
.
x =7
.
Call C
return
C)(
.
x =3
.
return x=17
x=7
שימוש נוסף במחסנית
:יצוג ביטוי אלגברי
-+ABC: Prefixא.
A+B-C: Infixב.
AB+C-: Postfixג.
:שאלות
?Postfix, Infix, Prefix1. מה הצורך ב-
?מה הקשר החזותי בין השיטות .2
?איך מחסנית עוזרת בחישוב הביטוי .3
Postfixחישוב ביטוי אלגברי
אתחל מחסנית .S1.(מחסנית האופרנדים) ריקה
לכל סמל .s 2 :בביטוי )משצאל לימין(
push(S, s) הוא אופרנד -s 2.1אם
push(pop(S), s, pop(S)) - 2.2אחרת
?
דוגמאInfix: 2 * ( 2 + 3 ) + 3 * 4 - 5 * 6 * ( 7 - 4 - 2 )
Postfix: 2 3 + 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -
+
3
2
5 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -
דוגמא
*
2
5
5 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -
10 3 4 * + 7 4 – 2 – 6 * 5 * -
דוגמא
*
4
3
10
10 3 4 * + 7 4 – 2 – 6 * 5 * -
10 12 + 7 4 – 2 – 6 * 5 * -
דוגמא
+
12
10
10 12 + 7 4 – 2 – 6 * 5 * -
22 7 4 – 2 – 6 * 5 * -
דוגמא
-
4
7
22
22 7 4 – 2 – 6 * 5 * -
22 3 2 – 6 * 5 * -
דוגמא
-
2
3
22
22 3 2 – 6 * 5 * -
22 1 6 * 5 * -
דוגמא
*
6
1
22
22 1 6 * 5 * -
22 6 5 * -
דוגמא
*
5
6
22
22 6 5 * -
22 30 -
דוגמא
-
30
22
-8
22 30 -
Postfix ל-Infixהמרה מ-
:הערות
...קדימויות של אופרטורים .1
...קדימויות של סוגריים .2
...מבנה נתונים .3
...סדר של אופרנדים .4
אלגוריתם המרה)מחסנית S . אתחל מחסנית ריקה 1
האופרטורים(.
בביטוי )משצאל לימין(:s. לכל סמל 2
s אופרנד - תדפיס s אם 2.1
אחרת:2.2
s קודם ל-top(S) לא ריקה ו-S כל עוד 2.1.1
pop(S) תדפיס
2.1.2 push(S, s)
pop(S)לא ריקה – תדפיס S . כל עוד3
סוגרייםמה לגבי הערה: ?
Queue - תור
In Out
FIFO מילת מפתח:
: פקודות1( Q <- MAKE)(
2( ENQUEUE )x,Q( : INSERT )x,END )Q(,Q(
3( FRONT )Q( : RET )FIRST )Q(, Q(
4( DEQUEUE )Q( : DELETE )FIRST )Q(, Q(
5( EMPTY )Q( : TRUE | FALSE
תור במערך
1 2 N
QUEUEQ.REAR Q.FRONT
N 1
2 F=R ריק <=
F+k=R => kאיברים
R=F-1מלא <=
FRONT,על ראשון - REARעל אחרון -
איברים!!!!!!N-1 ניתן להכניס רק שימו לב:
rear
תור ברשימה מקושרת
frontrear
1( Q <- MAKE)(
2( ENQUEUE )x,Q( : INSERT )x,END )Q(,Q(
3( FRONT )Q( : RET )FIRST )Q(, Q(
4( DEQUEUE )Q( : DELETE )FIRST )Q(, Q(
front
5( EMPTY )Q( : TRUE | FALSE
:Queue שימושים
תור למדפסת...
תור קדימויות
In Out
לכל איבר.k: הוספת מפתח שינוי
איבר נעשית לפי המפתח הזה.הוצאת
, VIP: עבודת מעבד, מערכת הפעלה, תזמון עבודותדוגמאות...
תור קדימויות
FRONT)Q( = Maximum)Q( )Minimum)Q((
DEQUEUE)Q( = ExtractMaximum)Q( )ExtractMinimum(Q))
שינויים :בולטים
לממשאיך ?
הנאיבימה סיבוכיות המימוש ?