Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος."— Μεταγράφημα παρουσίασης:

1 Δομές Δεδομένων 1 Στοίβα

2 Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος τύπος γραμμικής λίστας: Εισαγωγή και διαγραφή μόνο στο ένα άκρο της λίστας (στην αρχή) AbstractDataType Stack { instances ordered list of elements; one end is called the bottom; the other is the top; operations Create (): create an empty stack; IsEmpty (): return true if stack is empty, return false otherwise; Top (): return top element of stack; Add (x): add element x to the stack; Delete (x): delete top element from stack and put it in x; }

3 Δομές Δεδομένων 3 Εφαρμογή Στοίβας Υπολογισμός της ΕΠΙΘΕΜΑΤΙΚΗΣ μορφής μίας έκφρασης από την ΕΝΔΟΘΕΜΤΙΚΗ μορφή. ΕΠΙΘΕΜΑΤΙΚΗ  POSTFIX ΕΝΔΟΘΕΜΑΤΙΚΗ  INFIX

4 Δομές Δεδομένων 4 Εφαρμογή Στοίβας Παράδειγμα: Infix: A*B+C*D^E/F+G*H Postfix: AB*CDE^*F/+GH*+

5 Δομές Δεδομένων 5 Προτεραιότητες Τελεστών 1, ==, !=, = 2+, -, || 3*, /, %, && 4unary-, unary+, ! PriorityOperator

6 Δομές Δεδομένων 6 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: @

7 Δομές Δεδομένων 7 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z @

8 Δομές Δεδομένων 8 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z =@=@

9 Δομές Δεδομένων 9 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a =@=@

10 Δομές Δεδομένων 10 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a *=@*=@

11 Δομές Δεδομένων 11 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a (*=@(*=@

12 Δομές Δεδομένων 12 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x (*=@(*=@

13 Δομές Δεδομένων 13 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x +(*=@+(*=@

14 Δομές Δεδομένων 14 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y +(*=@+(*=@

15 Δομές Δεδομένων 15 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + (*=@(*=@

16 Δομές Δεδομένων 16 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + *=@*=@

17 Δομές Δεδομένων 17 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * =@ =@

18 Δομές Δεδομένων 18 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * +=@+=@

19 Δομές Δεδομένων 19 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z +=@+=@

20 Δομές Δεδομένων 20 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z *+=@ *+=@

21 Δομές Δεδομένων 21 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c *+=@ *+=@

22 Δομές Δεδομένων 22 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c ^*+=@^*+=@

23 Δομές Δεδομένων 23 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c (^*+=@(^*+=@

24 Δομές Δεδομένων 24 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 (^*+=@(^*+=@

25 Δομές Δεδομένων 25 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 −(^*+=@−(^*+=@

26 Δομές Δεδομένων 26 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 (−(^*+=@(−(^*+=@

27 Δομές Δεδομένων 27 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 ~(−(^*+=@~(−(^*+=@

28 Δομές Δεδομένων 28 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~(−(^*+=@~(−(^*+=@

29 Δομές Δεδομένων 29 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~(−(^*+=@ ~(−(^*+=@

30 Δομές Δεδομένων 30 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ (−(^*+=@ (−(^*+=@

31 Δομές Δεδομένων 31 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ +(−(^*+=@ +(−(^*+=@

32 Δομές Δεδομένων 32 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w +(−(^*+=@+(−(^*+=@

33 Δομές Δεδομένων 33 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w +(−(^*+=@ +(−(^*+=@

34 Δομές Δεδομένων 34 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + (−(^*+=@ (−(^*+=@

35 Δομές Δεδομένων 35 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + (−(^*+=@(−(^*+=@

36 Δομές Δεδομένων 36 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + −(^*+=@ −(^*+=@

37 Δομές Δεδομένων 37 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + −(^*+=@ −(^*+=@

38 Δομές Δεδομένων 38 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − (^*+=@ (^*+=@

39 Δομές Δεδομένων 39 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^*+=@ ^*+=@

40 Δομές Δεδομένων 40 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^*+=@ ^*+=@

41 Δομές Δεδομένων 41 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ *+=@ *+=@

42 Δομές Δεδομένων 42 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * +=@ +=@

43 Δομές Δεδομένων 43 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * /+=@ /+=@

44 Δομές Δεδομένων 44 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x /+=@ /+=@

45 Δομές Δεδομένων 45 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x /+=@ /+=@

46 Δομές Δεδομένων 46 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / +=@ +=@

47 Δομές Δεδομένων 47 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + =@ =@

48 Δομές Δεδομένων 48 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + = @

49 Δομές Δεδομένων 49 Infix to Postfix infix expression: z = a * ( x + y ) + z * c ^ ( 2 − ( − d + w ) ) / x ; postfix expression: z a x y + * z c 2 d ~ w + − ^ * x / + =

50 Δομές Δεδομένων 50 Εφαρμογή Στοίβας Αναζήτηση ενός μονοπατιού σε ένα λαβύρινθο.

51 Δομές Δεδομένων 51 Λαβύρινθος Entrance Exit

52 Δομές Δεδομένων 52 111111 111111 11 11 11 1 1 1 1 1 00 0 0 0 00 00 000 0

53 Δομές Δεδομένων 53 Κινήσεις NW NNE [row-1][col-1][row-1]col][row-1][col+1] W XE [row]col-1][row][col][row][col+1] [row+1][col-1][row+1][col][row+1][col+1] SW SSE Allowable moves

54 Δομές Δεδομένων 54 Επίλυση 111111 111111 11 11 11 1 1 1 1 1 00 0 0 0 00 00 000 0 (1,0,E) (1,1,S) (2,1,E) (2,2,E) (2,3,N) (1,3,E) (1,4,E) Είσοδος Έξοδος


Κατέβασμα ppt "Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google