2 giao trinh thuat toan vieclamvui pdf
Trang 1
Lot
an
MS
¬.nn
Printing
THUAT TOAN
Danh cho Sinh vién -
Hinh, hon 900 Bai tap
án điển cứu có chon loe
Chia ming bam dis din obt
the vibn cia ching 66
Xin vui lang:
-ÍNHÀ KUẤT BẢN Thổ Tin Š_ wkAans vách viết VỀ lên sách
Trang 2Chủ Biên : NGỌC ANH THU
Nhóm Biên Dịch : NGUYEN TIEN - NGUYEN VAN HOAI
NGUYEN HUU BINH - BANG XUAN HUONG NGO QUỐC VIỆT - TRƯƠNG NGỌC VÂN
Giá o Trình
2
THUAT TOAN LY THUYET VA BAI TAP
Sơ Cấp - Trung Cấp - Cao Cấp
»> Giáo trình dành cho Sinh viên
»> Tài liệu tham khảo giảng dạy của Giáo viên
> Cẩm nang thuật toán dành cho các chuyên gia
> Nhiều ví dụ, hình, 900 bài tập và hơn 120 bài toán để bạn trắc
nghiệm mức tiếp thu căn bẩn về nội dung - tư duy tự kiểm tra
eo OT eGR LM, PRIS
`" Đọc
Ỷ
L7VPHoN)
re SBF
NHÀ XUẤT BẢN THONG KE
Trang 3Nhóm Ngọc Anh Thu Press®
Trân Trọng Giới Thiệu Tới Bạn Đọc
Các Sách Sắp Xuất Bản
1 XAIL Nhập Alôn - Thực Hành & Ứng Dụng Cấu Trúc Dữ Liệu & Giải Thuật Java
‹Giáo Trình Lập Trình Hướng Đối Tượng Java
Phần Cung May Tinh - Kỹ Thuật và Giải Pháp (Tập 1 và 2)
Lip Trinh C#
era ` 9
33-333
TK_2001 137 - 99 - 2001
Nein
Trang 4Loi Noi Dau
ó những cuốn sách viết về thuật toán tuy nghiêm túc song không đây
đủ và có những cuốn sách tuy nội dung phong phú song lại không
nghiêm túc Giớo trình Thuật toán, Sơ cấp, Trung cấp, uà Cao cấp vừa
mang tính toàn diện vừa đây đủ Có thể dùng nó làm sách giáo khoa,
cấm nang, số tay, và tài liệu tham khảo chung
Giáo trình Thuật toán để cập cả nội dụng cổ điển lẫn các phát triển hiện đại như phân tích có khấu trừ và các thuật toán song song Phần giải thích toán học, tuy nghiêm túc, song vẫn được nêu chỉ tiết cẩn thận
để mọi tầng lớp độc giả có thế nấm vững Các chương được tổ chức sao
cho chúng bắt đầu với nội dung sơ cấp rồi tiến dân lên các chu dé cao
cap hon
Mỗi chương tương đối độc lập và có thể dùng như một đơn vị học trình Các thuật toán được trình bày theo dạng mã giả mà mọi người đã quen
với Fortran, C, hoặc Pascal, đều có thể hiểu được Vô số ví dụ có hình
minh hoa, hon 900 bai tap, va 120 bai toán điển cứu thích đáng nhấn mạnh các khía cạnh toán học lẫn thiết kế kỹ thuật của chú dé
Giáo trình Thuật toán thật hữu ích dành cho cae ban Sinh viên từ khóa học năm cuối về các cấu trúc dữ liệu cho đến khóa học sau đại học về các thuật toán Sách thực sự là một cuốn giáo trình trước mắt và một tài liệu toán học hoặc một cuốn cẩm nang thiết kế kỹ thuật luôn có mặt trên
bàn giấy để bạn tham khảo cho nghề nghiệp của mình sau này
Với các Giáo viên đang giảng dạy có thế thoải mái tổ chức khóa học dựa trên những chương cần thiết và được thiết kế tương đối độc lập với nhau do đó giáo viên có thể lựa chọn chất liệu thích hợp nhất hỗ trợ
cho khóa học mà mình sẽ dạy
Với các Chuyên gia, sách với nhiều chủ để đa dạng đã trở thành một cẩm nang tuyệt vời về thuật toán Bởi hầu hết các thuật toán mô tả trong sách này đều có tính tiện ích cao, mô tả các phương án thay thé thực
tiễn đối với một số thuật toán thiên về lý thuyết, cùng nhiều vấn để hay,
mới và thú vị dành cho bạn
Chung tôi xin trân trọng giới thiệu 0à rất mong sự đón nhận uà động diên của các bạn đọc để tủ sách Ngọc Anh Thư Press của chúng tôi ngày càng tốt hon
Xuân Nhâm Ngọ - 2002
Ngọc Anh Thư Press”
Trang 5Muc Luc
Muc Lue
Lời giới thiệu
Chương 1
Giới thiệu 18
11 Thuậttoán / 1.2 Phân tích các thuật toán 2
13 Thiết kế các thuật toán 30
14 Tóm tắt 3⁄4
Phân I Căn bản về toán học
Chương 2
Chương 3
Chương 4
Chương 5
21 2.2
3.1 3.2
41 4.2
43
44
5.1 5.2 5.3 5.4 5.5
Giới thiệu 40
Sự tăng trưởng của các hàm 42
Hệ ký hiệu tiệm cận 42 Các hệ ký hiệu chuẩn và các hàm chung 52
Phép lấy tổng 62 Các tính chất và công thức lấy tổng 62 Định cận các phân pháp lấy tổng 66
Các phép truy toán 73
Phương pháp thay thế 74
Phương pháp lập 78 Phương pháp chủ 82 Phép chứng minh với các lũy thừa chính xác 85 Các tập hợp 98
Các tập hợp 98
Các hệ thức 103
Cáchàm 106
Dé thi 108 Cây 114
Trang 66 Muc Luc
Cheiing 6
6.1 6.2
63 6.4
6.5 6.6
Đếm và xác xuất 123
Đếm /!23
Xác suất /29 Các biến ngẫu nhiên rời rạc 136 Các phép phân phối nhị thức
và theo cấp số nhân /0
Các mặt sấp của phép phân phối nhị thức J6
Phân tích xác suất 7/52
Phần II Sắp xếp và thống kê thứ tự 162
Chương
Chương
Chương
Chương 10
Nhập dé
7.1 7.2
73 7.4 7.5
8.1 8.2 8.3
8.4
9.1 9.2
93 9.4
10.1 10.2
103
163
Sắp xếp đống 166
Đống 166
Duy trì tính chất đống 168
Xây dựng một đống !7 Thuật toán sắp xếp đống 173
Các hàng đợi ưutiên 775
Sắp xếp nhanh 180
Mô tả kiểu sắp xếp nhanh -!80 Khả năng thực hiện của sắp xếp nhanh /83 Các phiên bản ngẫu nhiên hóa của
sắp xếp nhanh /88
Phân tích thuật toán sắp xếp nhanh /9/
Sắp xếp trong thời gian tuyến tính 200 Các cận dưới để sắp xếp 200
Sắp xếp đếm 203 Sắp xếp cơ số 206 Sắp xếp bô 209 Các trung tuyến và thống kê thứ tự 2/5 Các tiểu và Cực đại 215
Lựa chọn thời gian tuyến tính dự trù 2/7
Lưựa chọn thời tuyến tính ca (trường hợp)
xấu nhất 220
Trang 7Muc Luc
Phần HII Các cấu trúc dữ liệu
Chương
Chương
Chương
Chương
Chương
H
13
14
15
111
112
113 11.4
121 12.2
123 12.4
13.1 13.2
133 13.4
14.1 14.2
143
144
151
152
153
Các cấu trúc dữ liệu cơbản 230
Các ngăn xếp và các hàng đợi 230
Các danh sách nối kết 23 Thực thi các biến trỏ và các đối tượng 20
Biểu diễn các cây có gốc 245
Các bảng ánh số 25!
Các bảng địa chỉ trực tiếp 257 Các bảng ánh số 254
Các hàm ánh số 259
Định địa chmở 266 Các cây tìm nhị phân 278 Cây tìm nhị phân là gì? 278
Truy vấn một cây tìm nhị phân 28
Chèn và xóa 2#*
Các cây tìm nhị phan được
xây dựng ngẫu nhiên 289 Các cây đồ đen 299
Các tính chất của cây đỏ đen 299
Các phép quay 302
Phép chèn 304 Phép xóa 309
Tăng cường các cấu trúc dữ liệu 319
Thống kê thứ tự động 379
Cách tăng cường một cấu trúc dữ liệu 325
Các cây quãng 329
:
Phần IV Các kỹ thuật phân tích va thiết kế cao cấp
Chương 16
16.1 16.2
163
Mở đầu 327 Lập trình động 339 Phép nhân xích ma trận 340
Các thành phần của lập trình động 348 Dãy con chung đài nhất 354
Trang 88 Muc Luc
Chương Í7
Chương 18
16.4
171
172
173 17.4
175
181
182
183 18.4
Phép tam giác phân đa giác tối ưu 359
Các thuật toán tham 369
Một bài toán lựa chọn hoạt động 369
Các thành phân của chiến lược tham 373
Các mã Huffman ' 37
Nền tẳng lý thuyết cho các
phương pháp tham 386
Bài toán lên lịch công việc 393
Phân tích khấu trừ 399
Phương pháp kếttập 00 Phương pháp kếtoán 404 Phương pháp thế 407
Các bảng động 411
a
Phần V Các cấu trúc đữ liệu cao cấp
Chương 19
Chương 20
Chương 21
| Chương 22
19.1
192
193
20.1
202
211
212
213 21.4
22.1
222
223
' Mở đầu 426
CáccâyB 428
Định nghĩa câyB 4⁄32
Các phép toán cơ bản trên các cây B 43⁄4 Xóa một khóa ra khỏi một câyB 443
Các đống nhị thức 449 Các cây nhị thức và các đống nhị thức 450 Các phép toán trên các đống nhị thức 455 Các đống Fibonacci 471
Cấu trúc của các đống Fibonacci 472 Các phép toán đống khả trộn 475
Giảm một khóa và xóa một mắt 484
Định cận độ cực đại 488
Các cấu trúc dữ liệu cho các
tập hợp rời nhau 493
Các phép toán tập hợp rời 493
Phần biểu diễn danh sách nối kết
của các tập hợp rời 96
Các rừng tập hợp rời 500
Trang 9Muc Luc 9
* 860224 Phân tich heuristic hdp theo hang
với nén lộ trình 504
VI Thuật toán đồ thị
Mở đâu 519
Chương 23 Các thuật toán đồ thị căn bản 527
231 — Các phép biểu diễn của đổ thị 52!
232 Tìm kiếm độ rộng đầu tiên 525
2343 Tìm kiếm độ sâu đầu tiên 534
23.4 Phân tích lợp theo hạng với nén lộ trình 544
23.5 — Các thành phần liên thông mạnh 547 Chương 24 Các cây tỏa nhánh tối thiểu 558
24.1 Tăng trưởng một cây tỏa nhánh cực tiểu 559
242 Thuật toán Kruskal và Prim 564
Chương 25 Các lộ trình ngắn nhất nguồn đơn 574
25.1 Các lộ trình ngắn nhất và phép nới lỏng 579
252 Thuật toán Dijkstra 588
253 Thuật toán Bellman-Ford 594
254 — Các lộ trình ngắn nhất nguồn đơn trong
đồ thị phi chu trình có hướng 598
25.5 Các hạn chế sai phân và các lộ trình
ngắn nhất ó0j
Chương 26 Các lộ trình ngắn nhất mọi cặp 614
26.1 Các lộ trình ngắn nhất và phép nhân
ma tran 616
26.2 Thuật toán Floyd-Warshall 623
26.3 Thuat todn Johnson cho dé thi thưa 630
264 — Một khung sườn chung để giải quyết 635
Chương 27 Luéng cực đại 645
27.1 Cac mang luéng 646
27.2 Phương pháp Ford-Fulkcrson 655
273 So khớp hai nhánh cực đại 668
214 — Các thuật toán đẩy luỗổng rước 673
* 275 Thuật toán nâng tới trước 685
Trang 1010 Muc Luc
Phần VII Các chủ đề chọn lọc
Chương
Chương
Chương
Chương
Chương
%
29
30
31
32
28.1 28.2 28.3 28.4
285
29.1 29.2
293 29.4
30.1 30.2
303 30.4
30.5
31.1
312
313
314
315 31.6
32.1 32.2
Mở đầu 703
Các mạng sắp xếp 706
Các mạng so sánh 706
Nguyên lý Zcro - một 77!
Mang sắp xếp bitonic 7/5
Một mạng trộn 7/9
Mạng sắp xếp 72!
Các mạch sốhọc 728 Các mạch tổ hợp 729
Các mạch cộng 735 Các mạch nhân 747
Các mạch gắn đổng hổ 75⁄4
Các thuật toán cho các máy tính song song 766
Nhảy biến trổ 770
Các thuật toán CRCW và các
thuật toán EREW_ Z76/
Định lý Brent và tính hiệu quả công 797
Phép tính tiền tố song song
hiệu quả công 795
Ngắt tính đối xứng tất định 802
Các phép toán ma trận 813 Các tính chất của các ma trận 8/3
Thuật toán Strassen với phép nhân
ma trận 823
Các hệ thống số đại số và
phép nhân ma trận bool 830
Giải các hệ thống phương trình tuyến tính 835
Đảo các ma trận 849
Các ma trận xác định dương đối xứng
và phép xấp xỉ các bình phương bé nhất 854
Các đa thức và FFT 865
Phần biểu diễn của các đa thức 867
DFT va FFT 873