34
עעעע)עעעעעע( עעעעעDATA Link DATA Link DATA Link עעעע : הה ההההה ההההה2 הההה – הההה הההההה .ההההההה ההההה עעעע : ההההה הההההה הההה הה הה הההההה הההה. הההה הההה – עעעעעע! 1. ( הההההה הההההה עעעע – ההההה הה הההה ההה) .הההההה, ההההה הההה2. הההההה הההההה( עעע– ) ההה הההה ההההה הההההה הה ההההה. הההה ההההה, ההההה, ההההה, ...הההה ההההה ההההה

אחסון (אירגון) מידע

Embed Size (px)

DESCRIPTION

אחסון (אירגון) מידע. DATA Link. DATA Link. DATA Link. …. …. הערה : כל יחידה מכילה 2 שדות – מידע וקישור ליחידות אחרות. מטרה : אחסון ועיבוד מספר רב של יחידות מידע. מילת מפתח – יעילות !. 1. יעילות האחסון ( מקום ) – תוספת של מקום מעל ההכרחי, ניצול מקום. - PowerPoint PPT Presentation

Citation preview

Page 1: אחסון (אירגון) מידע

אחסון )אירגון( מידע

DATA

Link

DATA

Link

DATA

Link … …

. שדות – מידע וקישור ליחידות אחרות2: כל יחידה מכילה הערה

: אחסון ועיבוד מספר רב של יחידות מידע. מילת מפתח – מטרה!יעילות

( – תוספת של מקום מעל ההכרחי, ניצול מקוםיעילות האחסון ) .1.מקום

זמן עבור ביצוע פעולות על המידע. כגון ( –זמן) יעילות העיבוד .2 ...חיפוש, מחיקה, הכנסת, גישה לאיבר במבנה

Page 2: אחסון (אירגון) מידע

אחסון לינארי סידרתי

– אחסון מערךדרך מוכרת: .סידרתי

:מאפיינים

: מוגבל, ביזבוז כללי, חסכוני לכל יחידהמקום .1 .

...O(1), גישה לאיבר - O(n)2. הכנסה,הוצאהזמן : -

ניתן לפתור חלק מהבעיות, אבלהערה: ...

: באופן כללי לא מספקמסקנה .

Page 3: אחסון (אירגון) מידע

אחסון לינארי מקושר

DATANEXT

POINTER

DATANEXT

POINTER

DATANULL

HEADTAIL

. . .

Page 4: אחסון (אירגון) מידע

הוספת איבר

P-new

Pointer

Start

Page 5: אחסון (אירגון) מידע

הוספת איבר

P-new

Pointer

Start

Page 6: אחסון (אירגון) מידע

מחיקת איברPointer

Start

מחק את זה

Page 7: אחסון (אירגון) מידע

מחיקת איבר

Pointer

Start

מחק את זה

Page 8: אחסון (אירגון) מידע

רשימה מקושרת

:מאפיינים

: לא מוגבל, אין ביזבוז באופן כללי, הוספה של מקום .1 .מצביע

...O(n), גישה לאיבר - O(1)2. הכנסה,הוצאהזמן : -

: שיפור מסוים ביחס למערך, הבעיה העיקרית – זמן מסקנה.גישה

Page 9: אחסון (אירגון) מידע

רשימה מקושרת דו-כיוונית

DATANEXT

PRE

DATANEXT

PRE

DATANEXT

PRE

.שיפור יחסי בזמן גישה, הוספת מצביע

Page 10: אחסון (אירגון) מידע

Stack (מחסנית) 1מימוש :

: מחסנית רובה, ניירות על אינטואיציההשולחן

LIFO מילת מפתח:

פקודות:

1. S <- MAKE )(

2. TOP )S(

3. POP )S(

4. PUSH )S(

5. EMPTY )S(

: פקודות נוספות לא אפשריותהערה

Page 11: אחסון (אירגון) מידע

מחסנית במערך

1. S <- MAKE )(

2. TOP )S(

3. POP )S(

4. PUSH )S(

5. EMPTY )S(

1st2nd

i-top

Page 12: אחסון (אירגון) מידע

סיבוכיות )מחסנית במערך(

: מה עושים כשמערך מתמלא?בעיה

Doubling: שיטת ההכפלה פתרון

(n)( הקצה מקום מסוים לטבלה 1

n( כשהמקום מתמלא והטבלה מכילה 2אלמנטים:

2nא( הקצה מקום חדש לטבלה בגודל איברים לטבלה החדשה.העתקב( טבלה ישנה.שחררג(

Page 13: אחסון (אירגון) מידע

סיבוכיות )מחסנית במערך(

PER OPERATION( : INSERT)( עבור פעולת ?1

1(O) אם אין הכפלה •

n(O) אם יש הכפלה •

AMORTIZED COST

.בור פעולה במקרה הגרוע ביותרע ממוצע חשוב זמן •

n הוא סכום הפעולות על n(T , כאשר )T)n(/n שווה ל: •איברים.

AMORTIZED COST O(1)

Page 14: אחסון (אירגון) מידע

מחסנית ברשימה מקושרת

p-top

1. S <- MAKE )(

2. TOP )S(

3. POP )S(

4. PUSH )S(

5. EMPTY )S(

p-top

p-top

Page 15: אחסון (אירגון) מידע

שימוש במחסנית

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: אחסון (אירגון) מידע

שימוש נוסף במחסנית

:יצוג ביטוי אלגברי

-+ABC: Prefixא.

A+B-C: Infixב.

AB+C-: Postfixג.

:שאלות

?Postfix, Infix, Prefix1. מה הצורך ב-

?מה הקשר החזותי בין השיטות .2

?איך מחסנית עוזרת בחישוב הביטוי .3

Page 17: אחסון (אירגון) מידע

Postfixחישוב ביטוי אלגברי

אתחל מחסנית .S1.(מחסנית האופרנדים) ריקה

לכל סמל .s 2 :בביטוי )משצאל לימין(

push(S, s) הוא אופרנד -s 2.1אם

push(pop(S), s, pop(S)) - 2.2אחרת

?

Page 18: אחסון (אירגון) מידע

דוגמא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: אחסון (אירגון) מידע

דוגמא

*

2

5

5 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -

10 3 4 * + 7 4 – 2 – 6 * 5 * -

Page 20: אחסון (אירגון) מידע

דוגמא

*

4

3

10

10 3 4 * + 7 4 – 2 – 6 * 5 * -

10 12 + 7 4 – 2 – 6 * 5 * -

Page 21: אחסון (אירגון) מידע

דוגמא

+

12

10

10 12 + 7 4 – 2 – 6 * 5 * -

22 7 4 – 2 – 6 * 5 * -

Page 22: אחסון (אירגון) מידע

דוגמא

-

4

7

22

22 7 4 – 2 – 6 * 5 * -

22 3 2 – 6 * 5 * -

Page 23: אחסון (אירגון) מידע

דוגמא

-

2

3

22

22 3 2 – 6 * 5 * -

22 1 6 * 5 * -

Page 24: אחסון (אירגון) מידע

דוגמא

*

6

1

22

22 1 6 * 5 * -

22 6 5 * -

Page 25: אחסון (אירגון) מידע

דוגמא

*

5

6

22

22 6 5 * -

22 30 -

Page 26: אחסון (אירגון) מידע

דוגמא

-

30

22

-8

22 30 -

Page 27: אחסון (אירגון) מידע

Postfix ל-Infixהמרה מ-

:הערות

...קדימויות של אופרטורים .1

...קדימויות של סוגריים .2

...מבנה נתונים .3

...סדר של אופרנדים .4

Page 28: אחסון (אירגון) מידע

אלגוריתם המרה)מחסנית 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: אחסון (אירגון) מידע

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: אחסון (אירגון) מידע

תור במערך

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: אחסון (אירגון) מידע

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: אחסון (אירגון) מידע

:Queue שימושים

תור למדפסת...

Page 33: אחסון (אירגון) מידע

תור קדימויות

In Out

לכל איבר.k: הוספת מפתח שינוי

איבר נעשית לפי המפתח הזה.הוצאת

, VIP: עבודת מעבד, מערכת הפעלה, תזמון עבודותדוגמאות...

Page 34: אחסון (אירגון) מידע

תור קדימויות

FRONT)Q( = Maximum)Q( )Minimum)Q((

DEQUEUE)Q( = ExtractMaximum)Q( )ExtractMinimum(Q))

שינויים :בולטים

לממשאיך ?

הנאיבימה סיבוכיות המימוש ?