Hotline:
0888080290
Điện thoại:
0888080290
Cấu trúc dữ liệu và thuật toán
4.5
2257
Lượt xem
0
Lượt đọc
Tác giảHoàng Nghĩa Tý
ISBN2013-CTDLVTT
ISBN điện tử978-604--82-4065-3
Khổ sách17 x 24 cm
Năm xuất bản (tái bản)2011
Danh mụcHoàng Nghĩa Tý
Số trang245
Ngôn ngữvi
Loại sáchEbook;
Quốc giaViệt Nam
Xem đầy đủ
Giới thiệu
Mục lục

Cấu trúc Dữ liệu và Thuật toán (CTDL&TT) là môn học cơ sở chuyên ngành của ngành Công nghệ Thông tin, được phát triển từ môn học CTDL. Phần thuật toán trong môn học CTDL trước đây được hiểu là các thuật giải xử lý dữ liệu ứng với các cách thức đã được bố trí trong bộ nhớ, còn phần thuật toán trong môn học hiện nay là ph­ương pháp giải bài toán, là các b­ước giải bài toán, không phụ thuộc vào việc dữ liệu được bố trí trong bộ nhớ theo cấu trúc nào, không phụ thuộc vào việc bài toán sẽ được lập trình bằng ngôn ngữ nào. Theo ngôn ngữ cổ điển, có thể gọi phần CTDL là thuật toán tổ chức số liệu, còn TT là thuật toán tính toán.

Giáo trình "Cấu trúc Dữ liệu và Thuật toán" gồm 2 phần với 9 ch­ương và phần phụ lục. Giáo trình được soạn cho thời l­ượng môn học 75 tiết. Với quỹ thời gian 45 tiết, thì có thể chỉ giới hạn trong phần I và chư­ơng 4, ch­ương 5 của phần II.

Mục tiêu của môn học CTDL & TT là cung cấp cho học viên những kiến thức cơ bản về các dạng thuật toán th­ường được sử dụng để giải quyết các bài toán thực tế và các cách thức tổ chức dữ liệu thông dụng. Để phục vụ mục tiêu trên, giáo trình được trình bày thành hai phần độc lập: phần Cấu trúc dữ liệu và phần Thuật toán.

Trong phần Cấu trúc dữ liệu, giáo trình đề cập đến các loại cấu trúc cơ bản, th­ờng gặp trong thực tế. Xét theo cách thức xử lý tin và bản chất dữ liệu, cấu trúc dữ liệu được chia thành 2 nhóm : các cấu trúc tuyến tính và các cấu trúc phi tuyến. Tuyến tính được hiểu là các dữ liệu phải thuần nhất và được sắp xếp thành dãy, khi xử lý được tiến hành tuần tự. Những cách cấu trúc nào không theo tuyến tính thì được gọi là phi tuyến.

Sau khóa học, học viên nắm được ứng với những loại bài toán nào thì dữ liệu nên được tổ chức theo kiểu nào. Trên thực tế, mỗi ngôn ngữ lập trình đã quy định cách cấu trúc dữ liệu đi theo kỹ thuật lập trình của ngôn ngữ đó, việc học viên xác định cấu trúc dữ liệu cũng đồng nghĩa với việc lựa chọn ngôn ngữ lập trình để xây dựng phần mềm.

Hiện nay, Công nghệ Thông tin đã được áp dụng vào rất nhiều lĩnh vực, với nhiều dạng bài toán khác nhau, các thuật toán để giải các bài toán này cũng rất phong phú. Trong khuôn khổ một phần của giáo trình môn học, không thể đề cập bao quát hết các vấn đề của thuật toán, chỉ mới trình bày một cách khái quát về các dạng thuật toán cơ bản, các cấu trúc tuần tự, rẽ nhánh và các dạng vòng lặp; trình bày hai vấn đề lớn th­ờng được trình bày trong các giáo trình về Cấu trúc dữ liệu và Giải thuật là Sắp xếp và Tìm kiếm. Ngoài các vấn đề có tính chất truyền thống, trong giáo trình này trình bày 2 lĩnh vực mà có áp dụng nhiều trong các lĩnh vực kinh tế - kỹ thuật là Sơ đồ mạng và Quy hoạch động.

Một vấn đề đang được các Khoa Công nghệ Thông tin ở các tr­ờng kinh tế, kỹ thuật, công nghệ quan tâm là việc định h­ớng nghề nghiệp cho các sinh viên tốt nghiệp với chuyên ngành Công nghệ Phần mềm. Việc truyền thụ cho các em những kiến thức về các bài toán và thuật toán trong các lĩnh vực này là rất cần thiết.

Ngoài các phần lý thuyết và bài tập của các phần Cấu trúc dữ liệu và thuật toán, trong sách có phần phục lục tham khảo, là những ch­ơng trình của tác giả và một số sinh viên các khoá học thực hiện d­ưới sự h­ớng dẫn của tác giả.

Cuốn sách này được dùng cho sinh viên, học viên ngành Công nghệ Thông tin và của những ngành khác mà có học các môn Tin học ứng dụng để phát triển, khai thác các phần mềm chuyên ngành. Bạn đọc có thể sử dụng các ngôn ngữ lập trình khác nhau để thử nghiệm các thuật toán.

Một số ch­ương trong sách đã được dùng làm giáo án dạy cho nhiều khóa sinh viên ngành Tin học Xây dựng và ngành Công nghệ Thông tin ở Tr­ường Đại học Xây dựng (ĐHXD). 

 

 

Xem đầy đủ

Mục Lục
 

 

Trang

Lời nói đầu

3

Phần I

 

CẤU TRÚC DỮ LIỆU

 

Chương 1. Nhập môn cấu trúc dữ liệu

 

1.1. Khái niệm cấu trúc dữ liệu

5

1.2. Các mô hình dữ liệu

8

Chương 2. Cấu trúc dữ liệu tuyến tính

 

2.1. Mảng - Arrays

17

2.2. Ngăn xếp - Stacks

24

2.3. Hàng Đợi - Queue

29

2.4. Danh sách - List

35

2.5. Bài tập

39

Chương 3. Cấu trúc dữ liệu phi tuyến

 

3.1. Bản ghi - Record

42

3.2. Kiểu dữ liệu tệp

49

3.3. Kiểu dữ liệu tập hợp

63

3.4. Con trỏ và cấu trúc dữ liệu động

67

3.5. Danh sách liên kết

74

3.6. Ngăn xếp và hàng đợi liên kết

88

3.7. Phép đệ quy

92

3.8. Cây - Tree

95

3.9. Câu hỏi và bài tập

103

Phần II

 

THUẬT TOÁN

 

Chương 4. Nhập môn thuật toán

 

4.1. Xuất xứ của thuật toán

107

4.2. Các phương pháp trình bày thuật toán

109

4.3. Bài tập

112

Chương 5. Các dạng thuật toán cơ bản

 

5.1. Thuật toán có cấu trúc

113

5.2. Thuật toán của bài toán tuần tự

115

5.3. Thuật toán rẽ nhánh đơn giản

117

5.4. Thuật toán rẽ nhánh theo nhiều trường hợp

118

5.5. Thuật toán bài toán chu trình

119

Chương 6. Phân tích thuật toán

 

6.1. Khái niệm

134

6.2. Độ hiệu quả và độ phức tạp của thuật toán

135

Chương 7. Các thuật toán sắp xếp

 

7.1. Sắp xếp bằng chọn lựa đơn giản cho mảng

140

7.2. Sắp xếp theo chọn lựa đơn giản cho danh sách liên kết

141

7.3. Sắp xếp kiểu nổi bọt - Sắp xếp dần

143

7.4. Sắp xếp kiểu chèn

145

7.5. Sắp xếp nhanh

147

7.6. Sắp xếp trộn – Mergesort

150

Chương 8. Các thuật toán tìm kiếm

 

8.1. Tìm kiếm tuyến tính

152

8.2. Cây tìm kiếm nhị phân

154

8.3. Các thuật toán tìm lời giải tối ưu trên sơ đồ mạng

155

Chương 9. Quy hoạch động

 

9.1. Khái niện chung

169

9.2. Nguyên lí tối ưu Bellman

173

9.3. Áp dụng quy hoạch động trong xây dựng đường

186

Phụ lục. Một số chương trình ví dụ 

197

Tài liệu tham khảo 

242

 

Xem đầy đủ
Bình luận
0/1500 ký tự
Thống kê
Số thành viên:
1013
Đang trực tuyến:
4
Khách:
1
Số lượng sách:
2949