אחסון (אירגון) מידע
description
Transcript of אחסון (אירגון) מידע
![Page 1: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/1.jpg)
אחסון )אירגון( מידע
DATA
Link
DATA
Link
DATA
Link … …
. שדות – מידע וקישור ליחידות אחרות2: כל יחידה מכילה הערה
: אחסון ועיבוד מספר רב של יחידות מידע. מילת מפתח – מטרה!יעילות
( – תוספת של מקום מעל ההכרחי, ניצול מקוםיעילות האחסון ) .1.מקום
זמן עבור ביצוע פעולות על המידע. כגון ( –זמן) יעילות העיבוד .2 ...חיפוש, מחיקה, הכנסת, גישה לאיבר במבנה
![Page 2: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/2.jpg)
אחסון לינארי סידרתי
– אחסון מערךדרך מוכרת: .סידרתי
:מאפיינים
: מוגבל, ביזבוז כללי, חסכוני לכל יחידהמקום .1 .
...O(1), גישה לאיבר - O(n)2. הכנסה,הוצאהזמן : -
ניתן לפתור חלק מהבעיות, אבלהערה: ...
: באופן כללי לא מספקמסקנה .
![Page 3: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/3.jpg)
אחסון לינארי מקושר
DATANEXT
POINTER
DATANEXT
POINTER
DATANULL
HEADTAIL
. . .
![Page 4: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/4.jpg)
הוספת איבר
P-new
Pointer
Start
![Page 5: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/5.jpg)
הוספת איבר
P-new
Pointer
Start
![Page 6: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/6.jpg)
מחיקת איברPointer
Start
מחק את זה
![Page 7: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/7.jpg)
מחיקת איבר
Pointer
Start
מחק את זה
![Page 8: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/8.jpg)
רשימה מקושרת
:מאפיינים
: לא מוגבל, אין ביזבוז באופן כללי, הוספה של מקום .1 .מצביע
...O(n), גישה לאיבר - O(1)2. הכנסה,הוצאהזמן : -
: שיפור מסוים ביחס למערך, הבעיה העיקרית – זמן מסקנה.גישה
![Page 9: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/9.jpg)
רשימה מקושרת דו-כיוונית
DATANEXT
PRE
DATANEXT
PRE
DATANEXT
PRE
.שיפור יחסי בזמן גישה, הוספת מצביע
![Page 10: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/10.jpg)
Stack (מחסנית) 1מימוש :
: מחסנית רובה, ניירות על אינטואיציההשולחן
LIFO מילת מפתח:
פקודות:
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
: פקודות נוספות לא אפשריותהערה
![Page 11: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/11.jpg)
מחסנית במערך
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
1st2nd
i-top
![Page 12: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/12.jpg)
סיבוכיות )מחסנית במערך(
: מה עושים כשמערך מתמלא?בעיה
Doubling: שיטת ההכפלה פתרון
(n)( הקצה מקום מסוים לטבלה 1
n( כשהמקום מתמלא והטבלה מכילה 2אלמנטים:
2nא( הקצה מקום חדש לטבלה בגודל איברים לטבלה החדשה.העתקב( טבלה ישנה.שחררג(
![Page 13: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/13.jpg)
סיבוכיות )מחסנית במערך(
PER OPERATION( : INSERT)( עבור פעולת ?1
1(O) אם אין הכפלה •
n(O) אם יש הכפלה •
AMORTIZED COST
.בור פעולה במקרה הגרוע ביותרע ממוצע חשוב זמן •
n הוא סכום הפעולות על n(T , כאשר )T)n(/n שווה ל: •איברים.
AMORTIZED COST O(1)
![Page 14: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/14.jpg)
מחסנית ברשימה מקושרת
p-top
1. S <- MAKE )(
2. TOP )S(
3. POP )S(
4. PUSH )S(
5. EMPTY )S(
p-top
p-top
![Page 15: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/15.jpg)
שימוש במחסנית
w$wR תוכנית לבדיקת פלינדרום:abcda$adcba :דוגמא
)}][{()[בדיקת תקינות של סוגרים:)]]}{[}{)([()}][{(
קריאה Prog Aלפונקציות:
.
.
x= 17
Call B
.
.
B)(
.
.
x =7
.
Call C
return
C)(
.
x =3
.
return x=17
x=7
![Page 16: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/16.jpg)
שימוש נוסף במחסנית
:יצוג ביטוי אלגברי
-+ABC: Prefixא.
A+B-C: Infixב.
AB+C-: Postfixג.
:שאלות
?Postfix, Infix, Prefix1. מה הצורך ב-
?מה הקשר החזותי בין השיטות .2
?איך מחסנית עוזרת בחישוב הביטוי .3
![Page 17: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/17.jpg)
Postfixחישוב ביטוי אלגברי
אתחל מחסנית .S1.(מחסנית האופרנדים) ריקה
לכל סמל .s 2 :בביטוי )משצאל לימין(
push(S, s) הוא אופרנד -s 2.1אם
push(pop(S), s, pop(S)) - 2.2אחרת
?
![Page 18: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/18.jpg)
דוגמא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 * -
![Page 19: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/19.jpg)
דוגמא
*
2
5
5 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -
10 3 4 * + 7 4 – 2 – 6 * 5 * -
![Page 20: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/20.jpg)
דוגמא
*
4
3
10
10 3 4 * + 7 4 – 2 – 6 * 5 * -
10 12 + 7 4 – 2 – 6 * 5 * -
![Page 21: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/21.jpg)
דוגמא
+
12
10
10 12 + 7 4 – 2 – 6 * 5 * -
22 7 4 – 2 – 6 * 5 * -
![Page 22: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/22.jpg)
דוגמא
-
4
7
22
22 7 4 – 2 – 6 * 5 * -
22 3 2 – 6 * 5 * -
![Page 23: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/23.jpg)
דוגמא
-
2
3
22
22 3 2 – 6 * 5 * -
22 1 6 * 5 * -
![Page 24: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/24.jpg)
דוגמא
*
6
1
22
22 1 6 * 5 * -
22 6 5 * -
![Page 25: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/25.jpg)
דוגמא
*
5
6
22
22 6 5 * -
22 30 -
![Page 26: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/26.jpg)
דוגמא
-
30
22
-8
22 30 -
![Page 27: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/27.jpg)
Postfix ל-Infixהמרה מ-
:הערות
...קדימויות של אופרטורים .1
...קדימויות של סוגריים .2
...מבנה נתונים .3
...סדר של אופרנדים .4
![Page 28: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/28.jpg)
אלגוריתם המרה)מחסנית 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
סוגרייםמה לגבי הערה: ?
![Page 29: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/29.jpg)
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
![Page 30: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/30.jpg)
תור במערך
1 2 N
QUEUEQ.REAR Q.FRONT
N 1
2 F=R ריק <=
F+k=R => kאיברים
R=F-1מלא <=
FRONT,על ראשון - REARעל אחרון -
איברים!!!!!!N-1 ניתן להכניס רק שימו לב:
![Page 31: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/31.jpg)
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
![Page 32: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/32.jpg)
:Queue שימושים
תור למדפסת...
![Page 33: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/33.jpg)
תור קדימויות
In Out
לכל איבר.k: הוספת מפתח שינוי
איבר נעשית לפי המפתח הזה.הוצאת
, VIP: עבודת מעבד, מערכת הפעלה, תזמון עבודותדוגמאות...
![Page 34: אחסון (אירגון) מידע](https://reader038.fdocument.pub/reader038/viewer/2022110405/5681333e550346895d9a36a3/html5/thumbnails/34.jpg)
תור קדימויות
FRONT)Q( = Maximum)Q( )Minimum)Q((
DEQUEUE)Q( = ExtractMaximum)Q( )ExtractMinimum(Q))
שינויים :בולטים
לממשאיך ?
הנאיבימה סיבוכיות המימוש ?