- PowerPoint PPT Presentation

About This Presentation
Title:

Description:

... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 45
Provided by: research50
Category:
Tags:

less

Transcript and Presenter's Notes

Title:


1
?????????
  • ????????
  • ???
  • ????????

2
????????
  • ??????????????1??????(??)???????
  • ????????????????????????
  • ? ??????????????...
  • -????????1???????????????
  • -?????????
  • ??????????????(??????)??????????

???????????????????????
3
????????????
  • ????????????????????1?????1???
  • -????????1???????????????
  • ? ???????????????????????????????????????????????
    ????
  • -?????????
  • ? ????????2?????????????

???????????????????????
4
???????
  • ?????????????????????????????????(?????????????)
    ?1?????????????????????????
  • ? ??????????????????????????
  • ? ????!
  • ??????????????????????????????????????????
  • ????????????????????????????????????????????????
    ??
  • ??????????????????????????

5
????
  • ?????????


?
?
??
????
0
1
2
????????????????????????????????????? ????
??? (????????????????? ?????)
6
????
  • ??????????????????????????????????????????????
  • - ????????1??????????
  • ? ??????????????????????1???
  • - ??????????
  • ? ??????????????????1???
  • - ???????????????
  • ? ????????????????...

????
5

?
?
??
?
?
?
7
???????
  • ??????????????????????????
  • ????????????????????????????
  • int STACK_push ( STACK S, int a)
  • if ( S-gtt S-gtmax ) return (1) // overflow
    error
  • S-gthS-gtt a
  • S-gtt
  • return (0)
  • int STACK_pop ( STACK S, int a)
  • if ( S-gtt 0 ) return (1) // underflow
    error
  • S-gtt --
  • a S-gthS-gtt
  • return (0)

typedef struct int h // array for data
int end // size of array int t //
counter STACK
t
end

?
?
?
?
?
h
8
????????
  • ????????????????
  • ABCDEFGH
  • ????? undo ??

end

h
9
????????????
  • ?????????????????????????????????????
  • ????????????????????????????
  • (?????????????????????????????????????????????????
    ????)
  • ????????????????????????????????????????????????
    ??
  • ????????1??????????????????????????????????

10
???????????? (2)
  • ??????????????????????2??????????????????
  • ? ?????????????????????????????????????????3???
    ????
  • ????????????????????????2???????
  • ? ?????????????

11
???????????? (3)
  • ???????????????
  • void STACK_push ( STACK S, int a)
  • if ( S-gtt S-gtmax ) // overflow error
  • int i, h malloc (sizeof(int)max2 )
    // using realloc is easy
  • for ( i0 iltS-gtt i ) hi S-gthi
  • free ( S-gth )
  • S-gth h
  • S-gthS-gtt a
  • S-gtt

12
F I L O
  • ????????1??????????
  • ? ???????????????????????????????????????????????
    ???????(???????)
  • - ??????????????????????????
  • - ????????????????? FILO(First In Last Out)???

????
5

?
?
?
?
?
??
13
????FIFO
  • ???????????????????????????????????????
  • (FIFO? First In First Out ???)
  • ? ???????????????????????????????????????????????
    ????????????????(???????)
  • ? ????????????????
  • ?????????????????
  • - ??????????????????????????

????
5

?
?
?
?
?
??
14
????????
  • ?????????????????????????????????????
  • ? ???????????????????????????2????????
  • ? ???????????????? head?
  • ???????????????? tail ???

head
2
7
tail

?
?
?
?
?
??
15
?????
  • ???????????????????????????
  • ???????????????????????????????
  • ? ????????tail ?????????
  • ? head ??????????????
  • ??????????taill ? head ???????

head
5
10
tail

?
?
?
?
?
??
0
16
???????
  • tail ? head ????????????????
  • ??????????????? tail ? head ?????
  • ????????????
  • ? ???????????????????
  • ? ?????????!
  • ????
  • - ??????????????????
  • - (??????-1)??????????

head
5
5
tail

??
17
??????
  • ??????????????????????????
  • ????????????????????????????
  • int QUEUE_ins ( QUEUE Q, int a)
  • if (( Q-gtt 1 ) Q-gtend Q-gts ) return (1)
    // overflow error
  • Q-gthQ-gtt a
  • Q-gtt ( Q-gtt 1 ) Q-gtend
  • return (0)
  • int QUEUE_ext ( QUEUE S, int a)
  • if ( Q-gts Q-gtt ) return (1) // underflow
    error
  • a Q-gthQ-gts
  • Q-gts ( Q-gts 1 ) Q-gtend
  • return (0)

typedef struct int h // array for data
int end // size of array int s //
counter for head int t // counter for
tail QUEUE
t
s
end

?
?
?
h
18
???????
  • 1?????????????5???????
  • ???????????????
  • (??????????????????1???30??????????????????????)

end

h
19
??? ??????????
  • ?????????????????????/??????????????
  • ??????????????????????????????????????
  • ? ?????????(k??????????????????)????????????
  • - ?????????????????????????????????
  • - ?????(??????)?????????????????????????????

20
????????????
  • ?????????????k ???????????
  • ? ?????????
  • ????????????????????????????????????????????????
    ???????????
  • ??????????(?????)??????(??)???????????????3?????
    ??
  • - ??????
  • - ????(?????????????????)
  • - ?????(?????????????????)

1
5
7
3
21
???????
  • ????????????????
  • ? ???????????????????????
  • ? ?????????????????
  • ???????????????????????????????????????????
  • ??????????????????????????
  • ????????????????????

1
5
7
3
22
????????????
  • ??????????????????????????????????????????????
  • ? ?????????????????????
  • ?? C???????LIST???
  • ?LIST????????????
  • ??????
  • ?????????(head ???)
  • ??????(tail???)????
  • ???????
  • (LIST???????)

typedef struct LIST prv // pointer LIST
nxt // pointer int h // value LIST
typedef struct _LIST_ struct _LIST_ prv //
pointer struct _LIST_ nxt // pointer int
h // value LIST
23
???(???)
  • ??????LIST ???1????????????????????????
  • int LIST_init ( LIST L )
  • L-gtprv L
  • L-gtnxt L
  • ??????????????????????? head ? tail ???

?
?
1
5
7
3
24
??
  • ???????????(?????????)???????????????????????
  • int LIST_ins ( LIST l, LIST p )
  • p-gtnxt-gtprv l
  • l-gtnxt p-gtnxt
  • p-gtnxt l
  • l-gtprv p
  • ??????????????????????????

?
1
5
7
3
25
??
  • ???????????(?????????)???????????????????????
  • int LIST_del ( LIST l )
  • l-gtnxt-gtprv l-gtprv
  • l-gtprv-gtnxt l-gtnxt
  • l ??????????????
  • (???????????????????????????)

?
1
5
7
3
26
????????
  • ????????????????? NULL ?????????????
  • ? ?/????????? NULL ????????????????
  • ???????????????????????
  • ? ??NULL??????????????????
  • ? NULL??????????????????????2??(?????????????????
    ????????????????????????????

???
1
5
7
3
27
??????????
  • ???????????????????????1???????????????????????
  • LIST p
  • int e
  • for ( p?-gtnxt p!? pp-gtnxt )
  • e p-gth
  • ??????? prv ???

?
1
5
7
3
28
??
  • ?????????????????????????????????????????????
  • int LIST_recov ( LIST l )
  • LIST_ins ( l, l-gtprv)
  • ???????????
  • ??????????????????????????
  • (???????????????????)

?
1
5
7
3
1
5
7
3
29
???????
  • 1 ?? n ???????????????????????????????
    (?????2????????????????)
  • ??????????????????????????
  • (??????????????????????????)

30
???????2
  • ??2??????? n ???? (x1,y1) ,, (xn,yn) ???
  • y ???????? k/n ?????????????
  • x ??? k/m ?????????? k,k ????????
  • ?????? O( n2 log n) ??
  • ?????????????
  • O( n( mlog n)) ??

31
???????2 (2)
  • ???? x ??????????????
  • 0/m ???? m/m ???????
  • ?? y ??????????? y ????????????????
  • 0/m ???? m/m ??????????????????1???????
  • ??????O( n2 log n) ? O( n( mlog n)) ??
  • ? n ???????

32
??????
  • ??????????????????????????????
  • ????????????
  • k?????????????

1
5
7
3
?




33
??????????
  • ????????????????????1???????????????????????????
    ?????
  • ?? ??????????????????
  • ??????????????????
  • ?????????
  • ?? ?????????????????
  • ?????????
  • ????????????????
  • ??????????
  • ???????

typedef struct int prv // index to
previous int nxt // index to next int h
// value ALIST
34
???????
  • h, prv, nxt ????? i ????????? i ?h, nxt, prv
  • 0???????????????????????????????????????????
  • (??????????????????????????)
  • ????????????????????????????

0 1 2 3 4 (?)
h
?
?
?
?
typedef struct int prv // index to
previous int nxt // index to next int h
// value ALIST
prv
2
4
0
3
1
nxt
0
1
3
4
2
35
???
  • ????????????????????????????????????????
  • ? ??????????1??????????????
  • ???????????????????????
  • ???????????????

36
?????????
  • ????????????????????????????????
  • ????0?? 99 ??????????????????????10?????????
  • 10???0 ?? 9?????1????????????????????

0 1 2 3 4 5 6 7 8 9
37
???????
  • ????10?????????????????
  • ????????????????????
  • A 1,9,5
  • B 1,2
  • C 1,6,7
  • D 4,5

1 2 3 4 5 6 7 8 9
38
??Radix(??) ???
  • ?????????????????????????????
  • ??????????????????????????????????????
  • ????2????????1??????????????????????????????????
    ???????

1 2 3 4 5 6 7 8 9
39
????
  • ???????????????????????????????????
  • ? ???????????????????????????????????????????????
    ??
  • ????????????????????????????????????????????????
    ??????

40
??????????
  • ????????????????????
  • ??????S?????????????????????????????????????????
    ??????????
  • ??????????????????
  • ?????????2???????????????????
  • ? 3?????????????2???????????????????????????????
    ???
  • ? ?????????????S ???????????????????????????????
    ?????????S ????????????????????

41
???????
  • ????????????????????
  • ??????????????????????????????????????
  • 1 ABCABC
  • 2 ABBBBB
  • 3 CCCBBB
  • ??2???????????????ABC????????????A0,B1,C2
    ?????3??2??????
  • AB ? 1 ?CC ? 8 ???

0 1 2 3 4 5 6 7 8
42
??????
  • ???????????????2?????????????????????????????
  • ? ??????????????????????????
  • ?????2?????????????????????????????????????
  • (?????????????????????????????????????)
  • ? ?????????????????????????
  • ????x1,x2,x3 , ????? (x1)1(x2)2(x3)3 ??
  • ((x11)x21)x3 ???????????(????????)?????????
    ???

43
????????
  • ????????????????????????????????????????????????
    ????
  • ? ???????????????????????????????????????????????
    ???????????????????
  • ? ???????????????????????????????????????????????
    ?
  • ?????????????????????????????????
  • ??????????????????????????2?????????????

44
???
  • ???????? ???????????????????????????
  • ??? ??????????????????????????????
  • ??? ?????????????
  • ???? ??????????????????????????????????
Write a Comment
User Comments (0)
About PowerShow.com