1. Trang chủ
  2. » Công Nghệ Thông Tin

Data structures in c++ pdf

68 462 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Data Structures in C++ PDF
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Cấu trúc dữ liệu
Thể loại Tài liệu hướng dẫn
Định dạng
Số trang 68
Dung lượng 9,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

4#include void pushstruct stack*; void popstruct stack*; int fullstruct stack*; int emptystruct stack*;... نأOCIC نذإءو, 5#include void pushint a[],int k{ iftop==size-1cout... =ا node=n

Trang 2

2

Trang 4

4

5

-

6

-8

-8

) Stack (

-8

) Queues (

-

-

-

-15

-

-

-20

List) (

-

-35

ر5<=ا Trees

-

- - -

52

-

67

-

-

-68

Trang 5

( )



 5!2  %6  *  # %*.   % (

 $

   "1   8(

  .

 ?8 "  4 B!*  ?8 4

# ,

G'*  H

)

 ?   >

! A "# 4 = %B # J  G6 ?8 %D  B

$  @* 5 5

L  8

?* * )* *  )**  >    -    >@!

.

Trang 6

6

DATA

INFORMATION

/ $ ُ-^r وأ ُارT وأ مGرأ وأ فو[ ن#C G ر#=ا

pb

/ر#=او

نذإ

•1

xzا

2.وأ

3.ا

4

5 +)

,

*,-, (/

SAVE(

7

8

``T

•ت

Jو

Q$هأ:

 J د`C اX



و J د`C اX جاrzاو لrدzا تا[

J د`C اX

)

,

رAQr, JU/…ا \MKC 5 t[

/ هYcو

/

Trang 7

/

 ا

ةآ

—`,

VWه

WDQC ً4#<و

 U,و QK’



عاأ Uآb Q,/ ت, آه)

STATIC INFORMATION

.(

VWه

xzا

ت, آه

#UMديإ

ة{Q آ`Q

JX

(1 ة{Q -r ت, آه/



(2 KFQ ت, آهيإ

/

Œ

ر5<=ا ,

8^#QUbو

JX VWه

Trang 8

8

 )

Stack (

^X=ا $6M [او <] cM و

top

Mأ J 8QM X=ا

^

يإ [او ف’ J

pM’ JXtop

…إ “ [او <] ^X TOP

TOP=-1 UXو

لrدإلوأ $G

U  J MŠ

$G++ TOP

^$Xوجاrأ

U 

Mأنأ

=

-1

وأNULLاآ

•VTUX

:

يإ

$G #< ^X

)

COMPACT (

يإ  A #< ^X

Mد[أ

لŒ$آو ^X

Trang 9

نأ 85[

4 ) (

U^rداو

rأ $G )X (اذإو

درأجاrإ

$G

rأ Oهو t^rد $G (x)

و اWهلوأ |,

QX-,

1)

void push(int a[],int k){

if(top==sise-1)cout<<" FULL STACK";

top = 85[

1 MŠUb …إو top

-top

= - 1 Gا يأ

top

ح-Ubو

TOP ,PUSH,POP

STACK

Trang 10

10

ل#<zاو

STACK 

Œ 

UX \^QDM …و  A$

ءOF, [او …أ

Oهو

ً,b

لŒ$آو

rأجاrzأ

void push(int a[],int k){

if(top==size-1)cout<<" FULL STACK";

ه ف4Qr…ا “ KC

نإ

bb=ا Oو

اWه

ز ^X U^A[ $G آا

UKfor(;;)

Mأ ¢`

ساG=ا ,KQ,

Prefix and Postfix درUbو

ماDQbا نو,

3)#include<iostream.h>

wAM Max $G آا ^X T[

|

(

) $G J MŠM سG ^X $M  آو

سG J آا ق4Zzا سG نآ

ا Mأ نرM r=ا Oو

Trang 11

ح< 8Qbو

4)#include<iostream.h>

void push(struct stack*);

void pop(struct stack*);

int full(struct stack*);

int empty(struct stack*);

Trang 12

12

ن…أ G QXا

—ŒC ,

ن…أاذإ ‰U L^’

نإ ت, rC

ه هtCأ

نأOCIC

نذإءو,

5)#include<iostream.h>

void push(int a[],int k){

if(top==size-1)cout<<" FULL STACK";

Trang 13

void r(int a[]){int x[10],y[10],top2=-1,top3=-1;

while(top>=0)x[++top2]=a[top ];

while(top2>=0)y[++top3]=x[top2 ];

while(top3>=0)a[++top]=y[top3 ];}

YC#

Jb# ماDQbا ه

JMrv

لو=اO^T=ا

Œ $G آا X’

س

6)#include<iostream.h>

void push(int a[],int k){

if(top==size-1)cout<<" FULL STACK";

Trang 14

14

void push(int a[],int k){

if(top==size-1)cout<<" FULL STACK";

`M يإ CM G JM$C نeاو

(* جاDQb, مM |, LQآاداX=ا

يإ فW`, داX=ا

[ازإ ل$<و J$M L6[

[ازzا

(*)

S’C, د`Cا ,

ح (

؟

(* M`Q, مM |, LQآاا

Trang 15

 )

Queues (

وأ Q…ا ت45b

‘

ر

ةرX Oهو

YFMو

 J$#M Oنأ

FIFO (First Input First Output)

يإ…وأ

…وأيإ ^$X ن#C

xzام=ا

يإ

<] JM<]

$6Mو head or front

tail or rear

[ا,

Mأ

#F,يإ

<أ

لوI

لوأ



YFMQ…ا ر,’

/ هو ط<و دو` 85[

Y4Qانأ

(2 ياد ر,’

/نأ

=

1

و

= 85[

أو

=+1

أUbو:

ي=

نأيإ

$G

ن#M UX if(tail==-1||head==-1)

UXولrدإلوأ $G $G wAMسأ

=

0

1

HEAD

TAIL

TAIL

HEAD

Trang 16

16

UXولrدإOIC

MŠ $Gمأ

ه $آ M

2

1

يإ

تدرأ

8)#include<iostream.h>

a دزو

TAIL

$6M w

xz,

 If(tail<size-1&&head==0)

…و

xz, w$6M

If(tail==size-1&&head==0)

w$6Mو ت, ,

If(tail>0&&head<=tail) HEAD

Trang 17

(*

xzاADD

(*DEL

9)#include<iostream.h>

int p_q(){return a[head++];}

void del(int a[],int k){int x[10],t2,h2,m=head;t2=h2=-1;

if(tail==-1||head>tail)cout<<"THE QUEUE EMPTE\n";

else

while(m<=tail){

if(a[m]!=k){

Trang 18

18

نإ cو YK-

…إو S-

Uإ

10)#include<iostream.h>

int p_q(){return a[head++];}

void ser(int a[],int k){int y=0,t=tail,h=head;

if(t==-1||h>t)cout<<"THE QUEUE EMPTE\n";

آذIbنأ

…وأ L5M J

نأ c,

Y

آ [6

بKQb…لو=ا

ر

Trang 19

)

ا دXObb=ا

-=(

>

)-

ء-r Yا QXا اWهو 

11)#include<iostream.h>

if(tail!=size&&head=1)

R^Q$

 if(head==1&&tail==size)

نأ

VWه

(*LQآا ر,’ MوQ, مM |,

ه5C…,J

؟ ل$<و J$M

(*مM |, LQآا س# †6U,

15 ر‘Q…ا \T O 8هو

ةI5

8Gر

3 LTأ

‘Q…ا $`Q6M …و يG Sc, ر

Trang 20

ر5<=او

S ,

ت

Trang 22

22

Trang 24

24

Trang 26

26

Trang 28

28

Trang 30

30

Trang 32

32

Trang 34

34

Trang 35

• List)

(

نوأ

)block( ^Qآ وأ

,





Mد





/

O لrدzا نآ اذإ

$6Mو head

ناUX cMو

$6Mو

tail

NULL

و:

ن…

^#< ن#ـC \آ

M

هK,

^G وأ

ءO ةX ^rاد نأ —[

.

Trang 36

36

عاأ ةX

• ن# يأ J xzا

ع J

list

و tail ع J

list

و node

JX ةد U ن#C نأ ,…و Mروx Oهو ة-r لوأ Uه

=ا node=new list

Node->next=NULL

.

ن#Ub Uه 4

ل ن#

\ UMد 5 X Tail->next=node

tail=node

O, و ةX

node=node->next

ة

NULL

‘[4

Trang 37

node->next=head;

head=node;

i++;}

ةX xإ |, اWهو AUX K,

ة

ة<



ةMc ةX ءFإ ^X $KUb U 

Trang 38

38

لrدzا

جاrzاو

UX U$^#C G

Trang 39

push(list**top,int i){list*k;k=new list;k->a=i;k->last=*top;*top=k;}

shlist(list*p){while(p!=NULL){cout<<p->a<<" "; p=p->last;} cout<<endl;}

#include<iostream.h>

#include<conio.h>

Trang 40

40

struct list{int d;list*last;};

Trang 41

K,و

M Mد[=ا

ت-C J روM و

(*

(DELETE)

/ -6, ^$X ه

,

W`C 8C U لQ…ا …وأ L5M ةX فW[ UX eا اW,

• ن# ي

rأ يأ

ةX

Trang 42

42

getch();

}

Trang 43

 Mد

.

Trang 44

44

ر

(*

%8

, د/ا , ح8

5D

)1,2,7,9,5,6 (

%;>K21 دا6 Lاو 7,9,5

؟

(*5D

ت

#اأ0

M#ا ا.N ةآا.#ا PK 5

؟

Trang 45

 ,W$

^

.

8اG YMد[أ

نأ

next FM <]و last

VWه

[=ا

Mد

أولوI, Y^$X …أ ^$X Oهو

xzا

ع J

list

و tail ع J

list

و node

-r لوأ Uه

JX ةد U ن#C نأ ,…و Mروx Oهو ة

=ا node=new list

Node->next=NULL Node->last=

[ Kc يأ

U[

ن#Ub Uه 4

5 X

Tail node->last=

Œ

Tail->next=node

tail=node

Trang 46

46

getch();}

J xzا مأ

while(i<4){

‘[4



Trang 47

void f(list**,list**,int) {C يإ ن

f(list*,list*,int)

void

^$X يإ ن

آIQM

داXzا

Q`C …وج

!

ن

راb=ا SUو را=ا ^Xو $` b

`Tو

ر’=ا

.

د

.

Trang 48

48

…إو

…إو

_" ظ$/#ا ه طM

#ا Pه ة64#ا Wآ اذإ Y$Y طM#ا ا.ه PK5

و سأ#ا 

#ا5

ًeا  \" ناو ^;?و

Trang 49

JQU/

{node=new list;cin>>node->d;node->next=NULL;

node->last=tail;tail->next=node;tail=node;}

cout<<"ENTRER LIST 2 \n";

node=new list;cin>>node->d;node->next=node->last=NULL;tail2=head2=node; for(i=1;i<5;i++)

8Cأ جQ`M …و

ح<

وأ LKC

Trang 50

50

t`Cا G Uه OUI

8 لŒ

ضQنأ



struct list{int d,list*next,*last;};

/4/ تا<]

node , tail , head

T4r

U# ,:

Trang 51

(* -

-bا,

Mد[=ا

آا $X $KM |, LQيإ

ن#M

“ JM{Q J ن#

يإnext , int last

VWه فوKو $

نإ

داXzا

) 1,2,3,5,7,9,11,13,…

(

؟

(* -bا,وأ

(* S$c

^Rb=ا

(* مM |, LQآا

Œ$Q, ت, Wه

 S

Trang 52

52



ر5<=ا Trees

.

يإقاروأو

و

J د` دX

)nodes (

root

node —[

نإ تا5< J X$5 Oه

t1 ,t2,t3,t4 ……

Mرذ 5

)leaf node (

#Q

(J)

^X=ا ةX XCو

T=اوأ



A ,Z $6C ءU,=ا



T=ا $6M J,…او (branch)

ءU,أ

Œ Gرو $6Q

Q,K,F,L )

leave

(

Q

R

/ Šc X$5 ه

T=ا هو Y6  ُ4#ه #FM )

tree

(

نأZ,AO^T=ا

ر5<=ا

 Œ

(a+b)*2

ن#

 /

J#$

Œ$Cر5<=,

 تX

/

VWهAND,AT,ADD,BDDMBAND,BATTLE

J

D R

B

L F

A K

s

Node s

Roo t

b

Trang 53

8C \آ Å[4

Œ$C يو6M

35

wTأ يو6M 24

ف[=ا

VWهو

x

 J

8هأ ا

ر5<=ا



/

5, ^`C O X6Cو

$‘=ا



/

ن#Cو



)

Inorder taversal (

)Infix

(



G 

ق6C…ا )

preorder traversal (

G  #<

)prefix (

D N

T

A D

I

N

B A

T

Trang 54

54

)

postorder traversal (

K,  #<

) postfix (

T4r /

bb=ا:

preorder ,

inorder ,postorder

O preorder…وأ

, وinorder ,

$

Œ



:

نأ

Œ$C -bا, ق’ ةK, ,

Œ$CوVWه

:

)

H

(

)2^(H+1)-1 (

أ  A$, Œ$C   ^Xو

)2^(H+1)-1 (

تاŠ$و VWه



nS

ً``T ن#M ب=ا )

 ^$X

نأ

U5Cا $^آ

ب=اوأاW#هو

ن#C داX=ا

ر#ونأداX=ا

Å[4ونأ

بX J

VWه

ماDQb…

45

20

24 21

Trang 55

نأ

هرX

ء,zاءU,=,) Father Link (

‰^C $G ^X $QKC

,Y5Q

T4rوVWه

C…,



لو=ا

^X سbأ

ألو=ا

) (ز

OC=ا



^X …إو

ن 

U^rدأ)

)

25 ( U^Qا 8/

20

=

J {Tا 25

=

J {Tأ 20

13

25 اW#هو M

داX=ا

$وO^M

=NULL

/(

p 0 0  1

2"   

# 7     $

 8p +   9(

 + # - 

   &$1

Trang 56

56

void insert (tree*root,tree*node){tree*p,*s;

اWه

Trang 58

58

6 5

7

لŒ

ل ب0ا ه

ة64"#

Trang 59

}}

يإ

U xأ ^$c static

8^bو

:

Trang 60

60

ءU,أ ً,b U^G $آ ,

قاروأ ,

Trang 62

62

:

ذإYW[

^X يQ`M … Gرو ءU,أ

=

F cC …و b

1

وأ

vرويإ

ن#M بأ

2

ءU/إ

مأif(node->left==NULL&&node->right==NULL)

3

نأJUQ

ر6M ^X ه ه ب=ا

مأ ^X YU$M

^X نآ نI

Vر6M [ K5

left=NULL

OC=ا

YW[

70

Trang 63

1

ب=امأ ^X YU$Mif(60>70)

2

YU$M X ة5<و داXأ ُx

if(node->right!=NULL)

اذ 

ب=ا

 J,…ا J$, VWه O ن#U

70

“,ر U^X O,

ءاŠcأ A هو J,…ا



8

1  B  =*   #    "# %=

 ( ; !

  A$    1 ! %B '

 =    1

? !

! B * O '*

>$ ; !

$*

>( 4  =(

Trang 64

64

ر6M “, …إوب=ا

J,…ا J$, ,

نأ

…إ

أ

-6,

 —`

U^^[أيإ

 رW5

U 

VWهونأ

J فW`M يإ

…و

Sc يأ O cM

Trang 66

66

JX UŒM[ OQUM Uه ر5<=ا

د6, U^X O, VWه

(* -bا, |, LQآار5<=ا

(* -bا, |, LQآار5<=ا

UC ةو

(* -bا, |, LQآار5<=ا

ء,eاءU,أ

10,3,43,62, 5,1,40 (

YX’ ‰U ب^VWه

وأيإOC=ا

(* U/ ة5< M`Q, مM |, LQآا طF, ر,’

نأ

ماDQbايإ

؟ LCC زراr

(* ر,’ M`Q, مM |, LQآا ُ$^X U/ ة5<

نأ

(* )

SAMI , AMMAR , AHMED , BASSAM , SANAD ,

MOSTAFA , READ , ALI , KAMAL ,AMIN)

(

؟ ُ,b ^X U$^#C

(* فW`, مM |, LQآاداX=ا

10

5

43 3

Trang 67

لTأ ++

C /

.

r

/ د

.

/ وA Kb $X دK6

.



/ ن6آ \Qb ,

/

X با, 

.

0015 INFSC

/ stephenp

~ / edu pitt

www

Tutorial 2005

CS / bjin

~ / uk ac abdn

csd www

://

http

Trang 68

68

com a 4 cb www Computer Books for Arab

... class="page_container" data- page="17">

(*

xzاADD

(*DEL

9)#include<iostream.h>

int p_q(){return a[head++];}

void del(int a[],int... class="page_container" data- page="18">

18

نإ cو YK-

…إو S-

Uإ

10)#include<iostream.h>

int p_q(){return a[head++];}

void ser(int a[],int... class="page_container" data- page="11">

ح< 8Qbو

4)#include<iostream.h>

void push(struct stack*);

void pop(struct stack*);

int full(struct stack*);

int

Ngày đăng: 05/03/2014, 20:20

TỪ KHÓA LIÊN QUAN