Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
23Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Cau Truc Du Lieu Va Giai Thuat

Cau Truc Du Lieu Va Giai Thuat

Ratings: (0)|Views: 3,945|Likes:
Published by hienktktdl
Cau Truc Du Lieu Va Giai Thuat
Cau Truc Du Lieu Va Giai Thuat

More info:

Published by: hienktktdl on Jan 06, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

11/05/2012

pdf

text

original

 
 
H
C VI
N CÔNG NGH
B
Ư 
U CHÍNH VI
N THÔNG
C
Ấ 
U TRÚC D
Ữ 
LI
U VÀ GI
I THU
T
(Dùng cho sinh viên h
ệ 
 
đ 
ào t 
o
đạ
i h
c t 
ừ 
xa)
L
ư 
u hành n
i b
 
N
I - 2007
 
 
L
Ờ 
I NÓI
ĐẦ
U
C
u trúc d
li
u và gi
i thu
t là m
t trong nh
ng môn h
c c
ơ 
b
n c
a sinh viên ngành Côngngh
thông tin. Các c
u trúc d
li
u và các gi
i thu
t
đượ 
c xem nh
ư
là 2 y
ế
u t
quan tr 
ng nh
ttrong l
 p trình,
đ
úng nh
ư
câu nói n
i ti
ế
ng c
a Niklaus Wirth: Ch
ươ 
ng trình = C
u trúc d
li
u +Gi
i thu
t (Programs = Data Structures + Algorithms). N
m v
ng các c
u trúc d
li
u và các gi
ithu
t là c
ơ 
s
ở 
 
để
sinh viên ti
ế
 p c
n v
ớ 
i vi
c thi
ế
t k 
ế
và xây d
ng ph
n m
m c
ũ
ng nh
ư
s
d
ng cáccông c
l
 p trình hi
n
đạ
i.C
u trúc d
li
u có th
 
đượ 
c xem nh
ư
là 1 ph
ươ 
ng pháp l
ư
u tr 
d
li
u trong máy tínhnh
m s
d
ng m
t cách có hi
u qu
các d
li
u này. Và
để
s
d
ng các d
li
u m
t cách hi
u qu
 thì c
n ph
i có các thu
t toán áp d
ng trên các d
li
u
đ
ó. Do v
y, c
u trúc d
li
u và gi
i thu
t là2 y
ế
u t
không th
tách r 
ờ 
i và có nh
ng liên quan ch
t ch
v
ớ 
i nhau. Vi
c l
a ch
n m
t c
u trúcd
li
u có th
s
 
nh h
ưở 
ng l
ớ 
n t
ớ 
i vi
c l
a ch
n áp d
ng gi
i thu
t nào.Tài li
u “C
u trúc d
li
u và gi
i thu
t” bao g
m 7 ch
ươ 
ng, trình bày v
các c
u trúc d
li
uvà các gi
i thu
t c
ơ 
b
n nh
t trong tin h
c.Ch
ươ 
ng 1 trình bày v
phân tích và thi
ế
t k 
ế
thu
t toán.
Đầ
u tiên là cách phân tích 1 v
n
đề
,t
th
c ti
n cho t
ớ 
i ch
ươ 
ng trình, cách thi
ế
t k 
ế
m
t gi
i pháp cho v
n
đề
theo cách gi
i quy
ế
t b
ngmáy tính. Ti
ế
 p theo, các ph
ươ 
ng pháp phân tích,
đ
ánh giá
độ
ph
c t
 p và th
ờ 
i gian th
c hi
n gi
ithu
t c
ũ
ng
đượ 
c xem xét trong ch
ươ 
ng. Ch
ươ 
ng 2 trình bày v
 
đệ
qui, m
t khái ni
m r 
t c
ơ 
b
ntrong toán h
c và khoa h
c máy tính. Vi
c s
d
ng
đệ
qui có th
xây d
ng
đượ 
c nh
ng ch
ươ 
ngtrình gi
i quy
ế
t
đượ 
c các v
n
đề
t ph
c t
 p ch
b
ng m
t s
ít câu l
nh,
đặ
c bi
t là các v
n
đề
 mang b
n ch
t
đệ
qui.Ch
ươ 
ng 3, 4, 5, 6 trình bày v
các c
u trúc d
li
u
đượ 
c s
d
ng r 
t thông d
ng nh
ư
m
ngvà danh sách liên k 
ế
t, ng
ă
n x
ế
 p và hàng
đợ 
i, cây,
đồ
th
.
Đ
ó là các c
u trúc d
li
u c
ũ
ng r 
t g
ng
ũ
i v
ớ 
i các c
u trúc trong th
c ti
n. Ch
ươ 
ng 7 trình bày v
các thu
t toán s
 p x
ế
 p và tìm ki
ế
m.Các thu
t toán này cùng v
ớ 
i các k 
thu
t
đượ 
c s
d
ng trong
đ
ó
đượ 
c coi là các k 
thu
t c
ơ 
s
ở 
 cho l
 p trình máy tính. Các thu
t toán
đượ 
c xem xét bao g
m các l
ớ 
 p thu
t toán
đơ 
n gi
n và c
 các thu
t toán cài
đặ
t ph
c t
 p nh
ư
ng có th
ờ 
i gian th
c hi
n t
i
ư
u.Cu
i m
i ph
n
đề
u có các câu h
i và bài t
 p
để
sinh viên ôn luy
n và t
ki
m tra ki
ế
n th
cc
a mình. Cu
i tài li
u có các ph
l
c h
ướ 
ng d
n tr 
l
ờ 
i câu h
i, mã ngu
n tham kh
o và tài li
utham kh
o.V
nguyên t
c, các c
u trúc d
li
u và các gi
i thu
t có th
 
đượ 
c bi
u di
n và cài
đặ
t b
ng b
t c
ngôn ng
l
 p trình hi
n
đạ
i nào. Tuy nhiên,
để
đượ 
c các phân tích sâu s
c h
ơ 
n và có k 
ế
tqu
th
c t
ế
h
ơ 
n, tác gi
 
đ
ã s
d
ng ngôn ng
l
 p trình C
để
minh ho
cho các c
u trúc d
li
u vàthu
t toán. Do v
y, ngoài các ki
ế
n th
c c
ơ 
b
n v
tin h
c, ng
ườ 
i
đọ
c c
n có ki
ế
n th
c v
ngôn ng
 l
 p trình C.Cu
i cùng, m
c dù
đ
ã h
ế
t s
c c
g
ng nh
ư
ng ch
c ch
n không tránh kh
i các thi
ế
u sót. Tácgi
t mong nh
n
đượ 
c s
góp ý c
a b
n
đọ
c và
đồ
ng nghi
 p
để
tài li
u
đượ 
c hoàn thi
n h
ơ 
n.
 Hà N 
i, tháng 10/2007 
 
 3
CH
ƯƠ 
NG 1
 
PHÂN TÍCH VÀ THI
T K 
GI
I THU
T
 
Ch
ươ 
ng 1 trình bày các khái ni
m v
gi
i thu
t và ph
ươ 
ng pháp tinh ch
nh t
ng b
ướ 
cch
ươ 
ng trình
đượ 
c th
hi
n qua ngôn ng
di
n
đạ
t gi
i thu
t. Ch
ươ 
ng này c
ũ
ng nêu ph
ươ 
ng pháp phân tích và
đ
ánh giá m
t thu
t toán, các khái ni
m liên quan
đế
n vi
c tính toán th
ờ 
i gian th
chi
n ch
ươ 
ng trình.Trong m
i ph
n
đề
u có các minh ho
c
th
. Ph
n
đầ
u
đư
a ra ví d
v
bài toán nút giaothông và ph
ươ 
ng pháp gi
i quy
ế
t bài toán t
phân tích v
n
đề
cho
đế
n thi
ế
t
ế
gi
i thu
t, tinhch
nh t
ng b
ướ 
c cho t
ớ 
i m
c c
th
h
ơ 
n. Ph
n 2
đư
a ra m
t ví d
v
phân tích và tính toán th
ờ 
igian th
c hi
n gi
i thu
t s
 p x
ế
 p n
i b
t.
Để
h
c t
t ch
ươ 
ng này, sinh viên c
n n
m v
ng ph
n lý thuy
ế
t và tìm các ví d
t
ươ 
ng t
 
để
 th
c hành phân tích, thi
ế
t k 
ế
, và
đ
ánh giá gi
i thu
t.
1.1
 
GI
I THU
T VÀ NGÔN NG
Ữ 
DI
N
ĐẠ
T GI
I THU
T1.1.1
 
Gi
i thu
t
Trong th
c t
ế
, khi g
 p ph
i m
t v
n
đề
c
n ph
i gi
i quy
ế
t, ta c
n ph
i
đư
a ra 1 ph
ươ 
ng pháp
để
gi
i quy
ế
t v
n
đề
 
đ
ó. Khi mu
n gi
i quy
ế
t v
n
đề
b
ng cách s
d
ng máy tính, ta c
n ph
i
đư
a ra 1 gi
i pháp phù h
ợ 
 p v
ớ 
i vi
c th
c thi b
ng các ch
ươ 
ng trình máy tính. Thu
t ng
 “thu
t toán”
đượ 
c dùng
để
ch
các gi
i pháp nh
ư
v
y.Thu
t toán có th
 
đượ 
c
đị
nh ngh
 ĩ 
a nh
ư
sau:
Thu
t toán là m
t chu
ỗ 
i h
ữ 
u h
n các l 
nh. M 
ỗ 
i
nh có m
t ng 
ữ 
ngh
ĩ 
a rõ ràng và có th
ể 
 
đượ 
c th
ự 
c hi
n v
ớ 
i m
t l 
ượ 
ng h
ữ 
u h
n tài nguyên trong m
t kho
ng h
ữ 
u h
n th
ờ 
i gian.
Ch
ng h
n l
nh x = y + z là m
t l
nh có các tính ch
t trên.Trong m
t thu
t toán, m
t l
nh có th
l
 p
đ
i l
 p l
i nhi
u l
n, tuy nhiên
đố
i v
ớ 
i b
t k 
b
d
 li
u
đầ
u vào nào, thu
t toán ph
i k 
ế
t thúc sau khi th
c thi m
t s
h
u h
n l
nh. Nh
ư
 
đ
ã nói
ở 
trên, m
i l
nh trong thu
t toán ph
i có ng
ngh
 ĩ 
a rõ ràng và có th
 
đượ 
c th
cthi trong m
t kho
ng th
ờ 
i gian h
u h
n. Tuy nhiên,
đ
ôi khi m
t l
nh có ng
ngh
 ĩ 
a rõ ràng
đố
i v
ớ 
ing
ườ 
i này nh
ư
ng l
i không rõ ràng
đố
i v
ớ 
i ng
ườ 
i khác. Ngoài ra, th
ườ 
ng r 
t khó
để
ch
ng minhm
t l
nh có th
 
đượ 
c th
c hi
n trong 1 kho
ng h
u h
n th
ờ 
i gian. Th
m chí, k 
c
khi bi
ế
t rõ ng
 ngh
 ĩ 
a c
a các l
nh, c
ũ
ng khó
để
có th
ch
ng minh là v
ớ 
i b
t
b
d
li
u
đầ
u vào nào, thu
ttoán s
d
ng.Ti
ế
 p theo, chúng ta s
xem xét m
t ví d
v
xây d
ng thu
t toán cho bài toán
đ
èn giaothông:Gi
s
ng
ườ 
i ta c
n thi
ế
t k 
ế
m
t h
th
ng
đ
èn cho m
t nút giao thông có nhi
u
đườ 
ng giaonhau ph
c t
 p.
Để
xây d
ng t
 p các tr 
ng thái c
a các
đ
èn giao thông, ta c
n ph
i xây d
ng m
tch
ươ 
ng trình có
đầ
u vào là t
 p các ngã r 
 
đượ 
c phép t
i nút giao thông (l
i
đ
i th
ng c
ũ
ng
đượ 
cxem nh
ư
là 1 ngã r 
) và chia t
 p này thành 1 s
ít nh
t các nhóm, sao cho t
t c
các ngã r 
trongnhóm có th
 
đượ 
c
đ
i cùng lúc mà không x
y ra tranh ch
 p. Sau
đ
ó, chúng ta s
g
n tr 
ng thái c
acác
đ
èn giao thông v
ớ 
i m
i nhóm v
a
đượ 
c phân chia. V
ớ 
i cách phân chia có s
nhóm ít nh
t, tas
xây d
ng
đượ 
c 1 h
th
ng
đ
èn giao thông có ít tr 
ng thái nh
t.

Activity (23)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Phương Trần liked this
Rip Red liked this
lydiem09 liked this
Chanh Nguyenhong liked this
lyphan84kh liked this
th_information liked this
danhgl liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->