Title: O Notation
1???? ??????
????? ?????
2O Notation
3O Notation
4???? 3 (????? 1)
- ???? ?' - ??????? ?1/3- ?? ??? ?? ?????
- ?????? ????? ???? ????? "????" ???? 2 ??????, ???
?? ???? ???? ???? ?? ??? ???? - ????? "????" ?????? ??????? ??????? ???? ???? ??
???? - ?? ??????
- ?? ????? ???? ??? ?????? ?? ????? ?-3/4k ?-k
????? ????? ?-k ?-4/3k ??? ?????? ?? ?? ¼ k
?????? ????? - ?? ??? ?????? ???? ???? ??? ??????
- 4
- ???? ???????? ????? O(1) ?????? (amortized)
5???? 3 (????? 1)
- ???? ?' ??????? 10 ???? ?????? ?????
- ?? ????????? ?-m ?????? ????? ???
O(m2)
6??? ????? ????????
- ??? ?????? 4 ????
- ????? ??? ????? left
- ????? ??? ???? right
- ????? ??? p
- ???? - key
8
9
4
10
2
5
6
?? ??????? ??? ?? ???? gt v.key gt ?? ??????? ???
?? ?????
7?????
- ?????? ?? ????? ?????? (??? n ?????), ?????? ??
?? ??????? ??, ???? ?????, ???? O(n)
In-order(v) If (vnull) return Else In-order(v.le
ft) Print v.key In-order(v.right) Return End if
?
???? ?? ?? ?????
?
??? ???? (1)
?
???? ?? ?? ????
8?????
- ?????? ?? ????? ?????? (??? n ?????), ?????? ??
?? ??????? ??, ???? ?????, ???? O(n)
In-order(v) If (vnull) return Else In-order(v.le
ft) Print v.key In-order(v.right) Return End if
8
9
4
?
???? ?? ?? ?????
?
??? ???? (1)
10
2
5
?
???? ?? ?? ????
6
?????? ??????????, ?????? ?? ?? ???? ??? ???
???? O(n)
9????? Amortized
- ???? ???? ???? ADT ?? ?????? (?? ??????)?????
????, ?? ??? ????? ???? Amortized O(1) ?????
????? ???? ???? O(n) ???? n ??' ?????? ??????? - ??? ???? ????? ?? ???? ????? ??? ???? ?-4 ?????
??' ???? ??????? - ??????
- ???? ???? ????? ? ????? ?? 2
- ????? ½ ??????? ? ????? ?? 2
- ????? ???
- ?????? ????? ????? ?? 2
- ??????? ??? ?? ?? ??? ¼ ????? ?? 2
10????? ??????
- Size ??' ?????? ???????
- Max-size ???? ?????
- A ???? ????? Max-size
Initialization Size ? 0 Max-size ? 2 A ? array of
size 2
Push(S,x) If (sizeltmax-size) Asize1 ? x Size ?
size 1 Else A ? new array of size 2max-size A
? A (copy) max-size ? max-size2 Asize1 ?
x Size ? size 1 End if
Pop(S) Return-value Asize Size ? size-1 If
(size lt max-size/4) A ? array of size
max-size/2 A ? A (copy) Max-size ?
max-size/2 End if
11???? ??????...
- ???? ???? ?-Amortized ??? O(1)
- ????? ????? ???? ? ????? ½ ???
- ????? ????? ???? ? ????? ½ ???
- ??? 1 ???? ???? ????? "????" ????? ½ ???
- ??? 2 ???? op1 ????? ????, ?-op2 ?????? ?????
?????. ???? ????? op1 ???? ????? k ??? ??? op1
?-op2 ?? ????? k/4 ?????? - ?????
- ???? Op1 ???? ??????? ??? m/2
- ???, ?? op2 ????? ?????, ?? ?? ???? ???? m/2
?????? - ?? op2 ????? ?????, ?? ?? ???? ???? m/4 ??????.
?.?.?
12????? ????? (???? ????)
- ??????
- amortized(op) cost(op) withdrawal deposit
- ???? ?????? ??? ????? amortized(op) O(1)
- ????? ????
- ?? ????? ????? 4 ??????
- ????? ???? ????? ?????? ????? ????? ???? ????
- ???? ?????? ???????? ?????? ?????? ?? ??????
????? ???? ?????? - ????? ????? ????
- ???? m (????? ?? m)
- ????? ??? ????? m/4 ?????? ??????? 4, ?????
- ???, ???? ???? ?????, ????? ?? ????? ?????
???? ?? ??? ?????? (????? ?????)
13????? ????? (???? ?????????)
- ???? ?????? ????' ???????? F ?? ?
- F(start)0
- F(end)0
- ??????
- ???? ?????? ???? ?????
- ????? ?? F
??????
??????
????? F ???? ????? ????? "??????" ???? ????? ????