1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

TÀI LIỆU THAM KHẢO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 156 trang )


Mục lục



MỤC LỤC



Chương 1: ĐẠI CƯƠNG VỀ KỸ THUẬT LẬP TRÌNH CẤU TRÚC ..................................3

1.1.



Sơ lược về lịch sử lập trình cấu trúc...............................................................3



1.2.



Cấu trúc lệnh, lệnh có cấu trúc, cấu trúc dữ liệu ............................................5



1.2.1.



Cấu trúc lệnh (cấu trúc điều khiển) ........................................................5



1.2.2.



Lệnh có cấu trúc .....................................................................................7



1.2.3.



Cấu trúc dữ liệu......................................................................................7



1.3.



Nguyên lý tối thiểu .........................................................................................8



1.3.1.



Tập các phép toán ..................................................................................8



1.3.2.



Tập các lệnh vào ra cơ bản...................................................................11



1.3.3.



Thao tác trên các kiểu dữ liệu có cấu trúc............................................11



1.4.



Nguyên lý địa phương ..................................................................................13



1.5.



Nguyên lý nhất quán.....................................................................................15



1.6.



Nguyên lý an toàn.........................................................................................16



1.7.



Phương pháp Top-Down ..............................................................................18



1.8.



Phương pháp Bottom - Up............................................................................22



Chương 2: DUYỆT VÀ ĐỆ QUI ..........................................................................................29

2.1.



Định nghĩa bằng đệ qui ................................................................................29



2.2.



Giải thuật đệ qui ...........................................................................................30



2.3.



Thuật toán sinh kế tiếp .................................................................................31



2.4.



Thuật toán quay lui (Back track) .................................................................34



2.5.



Thuật toán nhánh cận ...................................................................................37



Chương 3: NGĂN XẾP, HÀNG ĐỢI VÀ DANH SÁCH MÓC NỐI (STACK, QUEUE,

LINK LIST)...........................................................................................................................51

3.1.



Kiểu dữ liệu ngăn xếp và ứng dụng..............................................................51



3.1.1.



Định nghĩa và khai báo ........................................................................51



3.1.2.



Các thao tác với stack ..........................................................................53



3.1.3.



Ứng dụng của stack..............................................................................53



153



Mục lục

3.2.



Hàng đợi (Queue) .........................................................................................55



3.2.1.



Định nghĩa và khai báo ........................................................................55



3.2.2.



Ứng dụng hàng đợi...............................................................................57



3.3.



Danh sách liên kết đơn .................................................................................62



3.3.1.



Giới thiệu và định nghĩa.......................................................................62



3.3.2.



Các thao tác trên danh sách móc nối....................................................63



3.4.



Danh sách liên kết kép..................................................................................67



Chương 4: CẤU TRÚC DỮ LIỆU CÂY (TREE).................................................................77

4.1.



Định nghĩa và khái niệm ..............................................................................77



4.2.



Cây nhị phân.................................................................................................78



4.3.



Biểu diễn cây nhị phân .................................................................................81



4.3.1.



Biểu diễn cây nhị phân bằng danh sách tuyến tính ..............................81



4.3.2.



Biểu diễn cây nhị phân bằng danh sách móc nối .................................82



4.4.



Các thao tác trên cây nhị phân......................................................................83



4.4.1.



Định nghĩa cây nhị phân bằng danh sách tuyến tính............................83



4.4.2.



Định nghĩa cây nhị phân theo danh sách liên kết:...............................83



4.4.3.



Các thao tác trên cây nhị phân .............................................................83



4.5.



Các phép duyệt cây nhị phân (Traversing Binary Tree)...............................88



4.5.1.



Duyệt theo thứ tự trước (Preorder Travesal)........................................88



4.5.2.



Duyệt theo thứ tự giữa (Inorder Travesal) ...........................................89



4.5.3.



Duyệt theo thứ tự sau (Postorder Travesal) .........................................89



4.6.



Cài đặt cây nhị phân tìm kiếm......................................................................90



Chương 5: ĐỒ THỊ (GRAPH) ............................................................................................103

5.1.



Những khái niệm cơ bản của đồ thị............................................................103



5.1.1.



Các loại đồ thị ....................................................................................103



5.1.2.



Một số thuật ngữ cơ bản của đồ thị....................................................106



5.1.3.



Đường đi, chu trình, đồ thị liên thông................................................107



5.2.



Biểu diễn đồ thị trên máy tính ....................................................................107



5.2.1.



Ma trận kề, ma trận trọng số ..............................................................107



5.2.2.



Danh sách cạnh (cung )......................................................................109



5.2.3.



Danh sách kề ......................................................................................110

154



Mục lục

5.3.



Các thuật toán tìm kiếm trên đồ thị ............................................................110



5.3.1.



Thuật toán tìm kiếm theo chiều sâu ...................................................110



5.3.2.



Thuật toán tìm kiếm theo chiều rộng (Breadth First Search).............111



5.3.3.



Kiểm tra tính liên thông của đồ thị.....................................................112



5.3.4.



Tìm đường đi giữa hai đỉnh bất kỳ của đồ thị ....................................113



5.4.



Đường đi và chu trình Euler .......................................................................115



5.5.



Đường đi và chu trình Hamilton.................................................................118



5.6.



Cây bao trùm ..............................................................................................119



5.6.1.



Khái niệm và định nghĩa ....................................................................119



5.6.2.



Tìm một cây bao trùm trên đồ thị.......................................................120



5.6.3.



Tìm cây bao trùm ngắn nhất...............................................................121



5.6.4.



Thuật toán Kruskal.............................................................................122



5.6.5.



Thuật toán Prim..................................................................................122



5.7.



Bài toán tìm đường đi ngắn nhất ................................................................123



5.7.1.



Phát biểu bài toán...............................................................................123



5.7.2.



Thuật toán Dijkstra.............................................................................124



5.7.3.



Thuật toán Floy ..................................................................................124



Chương 6: SẮP XẾP VÀ TÌM KIẾM (SORTING AND SEARCHING)..........................131

6.1.



Đặt bài toán ................................................................................................131



6.2.



Giải thuật Selection Sort.............................................................................132



6.3.



Giải thuật Insertion Sort .............................................................................134



6.4.



Giải thuật Bubble Sort................................................................................136



6.5.



Giải thuật Shaker Sort ................................................................................137



6.6.



Giải thuật Quick Sort..................................................................................139



6.7.



Giải thuật Heap Sort ...................................................................................141



6.8.



Giải thuật Merge Sort .................................................................................143



6.9.



Tìm kiếm (Searching).................................................................................145



6.9.1.



Tìm kiếm tuần tự (Sequential Searching) ..........................................146



6.9.2.



Tìm kiếm nhị phân (Binary Searching)..............................................147



TÀI LIỆU THAM KHẢO .........................................................................................152

MỤC LỤC .................................................................................................................153

155



Xem Thêm
Tải bản đầy đủ (.pdf) (156 trang)

×