...
Giáo trìnhCấutrúcdữliệu và Giải thuật
15/16
¾ Cấutrúc khối lồng nhau: một khối nằm trong một khối khác sẽ có khoảng
cách canh lề lớn hơn.
Trong giáo trình này, chỉ những phần được trình ... trên ý tưởng
(biểu diễn bằng ngônngữ giả và độc lập với mọi ngônngữlập trình) . Tuy
nhiên khi hiện thực chúng ta thường gặp vướng mắc ở chỗ mỗi ngônngữ
lập trình có một số đặc điểm khác ... buộc phải có để lưu dữ liệu.
Chương 1: Giới thiệu
Giáo trìnhCấutrúcdữliệu và Giải thuật
4/16
các phương thức này. Đó là việc chúng ta phải xử lý những dữliệu bên trong của
chúng như...
... đáng với cấutrúc luận lý này.
• Lý do thứ ba là để duy trì tính nhất quán với các cấutrúcdữliệu khác cũng
như các cách hiện thực khác nhau của một cấutrúcdữ liệu: một cấutrúcdữ
liệu bao ... ngay trước
Hình 2.3- Cấutrúc Node chứa con trỏ
Chương 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
36
Chương 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
24
else ... của cấutrúcdữliệu để lựa chọn cho phù hợp với tính chất của
ứng dụng.
Chương 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
30
Trong mỗi lần lặp, đối tượng small được tạo ra, dữ liệu...
... count của lớp
Chương 3 – Hàng đợi
Giáo trìnhCâutrúcdữliệu và Giải thuật
39
và để tránh nhầm lẫn với những từ mà chúng ta sẽ dùng với các cấutrúcdữliệu
khác.
Chúng ta có lớp Queue như ... hàng liên kết
Chương 3 – Hàng đợi
Giáo trìnhCâutrúcdữliệu và Giải thuật
43
Dãy vòng trong C++
Trong C++, chúng ta có thể tăng chỉ số i trong một dãy vòng như sau:
i = ((i+1) ... các phần tử trong hàng dịch chuyển tới trong dãy thì các
vị trí đầu của dãy sẽ không bao giờ được sử dụng đến. Chúng ta có thể hình dung
Chương 3 – Hàng đợi
Giáo trìnhCâutrúcdữliệu và Giải...
... trìnhCấutrúcdữliệu và Giải thuật
58
Nếu người sử dụng nhìn thấy được set_position thì họ sẽ có thể truy xuất
đến mọi phần tử trong danh sách. Vì vậy, để duy trì tính đóng kín của dữ liệu, ... chứa dữ
liệu, và next_node[ ] để chứa chỉ số chỉ đến phần tử kế. Đối với phần lớn các
ứng dụng, entry là một mảng mà mỗi phần tử là một cấu trúc, hoặc một vài
mảng trong trường hợp ngônngữlập ...
tử trong DSLK (hình 4.6). Chúng ta cũng sẽ gọi các phần tử trong workspace là
node và sẽ khai báo Node để chứa dữ liệu. Mỗi Node là một cấutrúc gồm hai
phần: entry kiểu Entry chứa dữ liệu, ...
...
ký tự trongngônngữ C mà đa số người lậptrình đã từng sử dụng. Do đó phần
trình bày tiếp theo đây liên quan chặt chẽ đến ngônngữ C và C++.
5.1. Chuỗi ký tự trong C và trong C++
Ngôn ngữ C++ ... trìnhCấutrúcdữliệu và Giải thuật
88
• Trường hợp a
j
≠s
i
(với j≠0) trong một lần so trùng nào đó thì như đã nói
ở trên, chỉ việc cho j lùi về vị trí đã được chứa trong phần tử thứ j trong ... thích đáng do nó cho phép truy
xuất dữliệu bên trong của đối tượng String. Tuy nhiên chúng ta sẽ thấy những
Chương 5 – Chuỗi ký tự
Giáo trìnhCấutrúcdữliệu và Giải thuật
84
0 1 2 3 4...
...
Chương 6 – Đệ quy
Giáo trìnhCấutrúcdữliệu và Giải thuật
110
Trong những trường hợp như vậy, tốt hơn hết là thay ngăn xếp bằng một cấu
trúc dữliệu khác, một cấutrúcdữliệu mà cho phép truy ...
Giáo trìnhCấutrúcdữliệu và Giải thuật
127
6.4. Các chương trình có cấutrúc cây: dự đoán trước trong các
trò chơi
Trong các trò chơi trí tuệ, con người có thể dự đoán trước một số bước. Trong ... khác trong ngăn xếp), và
như vậy một công việc nào đó có thể phải được thực hiện nhiều lần.
Chương 6 – Đệ quy
Giáo trìnhCấutrúcdữliệu và Giải thuật
118
6.3.5. Tinh chế: Cấutrúcdữ liệu...
... cho tìm kiếm nhị phân.
Chương 7 – Tìm kiếm
Giáo trìnhCấutrúcdữliệu và Giải thuật
138
khác với các cấutrúcdữliệu khác ở chỗ, trong bảng băm không có khái niệm
duyệt qua các phần ... tác vụ này.
Chương 7 – Tìm kiếm
Giáo trìnhCấutrúcdữliệu và Giải thuật
142
7.3.1. Danh sách có thứ tự
Sau đây chúng ta định nghóa một kiểu dữliệu trừu tượng cho một danh sách có
thứ ...
Chương 7 – Tìm kiếm
Giáo trìnhCấutrúcdữliệu và Giải thuật
137
Chương 7 –
TÌM KIẾM
Chương này giới thiệu bài toán tìm kiếm một phần tử trong một danh sách.
Phần trình bày tập trung chủ...
... giữa *trailing và *current.
Chương 8 – Sắp xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
182
Chương 8 – Sắp xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
172
(b) Không thỏa điều kiện của ... hàng ưu tiên trong
chương 11 đều dựa trên cùng một khái niệm heap như nhau. Đó là một cấutrúc
cây tương tự như cấutrúc cấp bậc trong một tổ chức. Chúng ta thường biểu diễn
cấu trúc tổ chức ... lớn nhất trong heap (phần tử đầu
tiên) và lặp lại toàn bộ quá trình.
Hình 8.14 – Bước thứ nhất của Heapsort.
Chương 8 – Sắp xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
173
Trong giai...
... target);
}
Chương 9 – Cây nhị phân
Giáo trìnhCấutrúcDữliệu và Giải thuật
199
Trong thực tế, đôi khi các lậptrình viên chỉ tập trung vào một trong ba quan
điểm trên, và chúng ta cũng ...
break;
}
}
Chương 9 – Cây nhị phân
Giáo trìnhCấutrúcDữliệu và Giải thuật
188
lần duy nhất. Cũng như phép duyệt trên các cấutrúcdữliệu khác, hành động
mà chúng ta cần làm khi ghé ... sách các dữliệu đã có thứ tự, hoặc có thể là một
file các bản ghi có các khóa đã có thứ tự. Nếu chúng ta muốn sử dụng các dữliệu
Chương 9 – Cây nhị phân
Giáo trìnhCấutrúcDữliệu và Giải...
... nhiều nhánh
Giáo trìnhCấutrúcdữliệu và Giải thuật
239
10.1.2. Cây có thứ tự
10.1.2.1. Hiện thực trong máy tính
Nếu chúng ta muốn sử dụng một cây có thứ tự như một cấutrúcdữ liệu, một
cách ... một lớp cấutrúcdữliệu khác qua một số định nghóa
mới dưới đây.
Hình 10.3 – Hình đã được quay của hiện thực liên kết
Chương 10 – Cây nhiều nhánh
Giáo trìnhCấutrúcdữliệu và Giải ... – Cây nhiều nhánh
Giáo trìnhCấutrúcdữliệu và Giải thuật
272
10.4.2. Định nghóa và phân tích
Cấu trúc này đặc biệt có ích đối với cây B-tree bậc 4 (hình 10.16), trong đó
mỗi nút của cây...
... tiên
Giáo trìnhCấutrúcdữliệu và Giải thuật
283
Chương 11 –
HÀNG ƯU TIÊN
Cấu trúcdữliệu hàng đợi mà chúng ta đã xem xét trong chương 3 là theo đúng
nguyên tắc FIFO. Tuy nhiên trong thực ... tương tự B-tree, khi dữliệu quá lớn không chứa đủtrong bộ nhớ thì
d-heap cũng thích hợp với việc sử dụng thêm bộ nhớ ngoài.
Chương 11 – Hàng ưu tiên
Giáo trìnhCấutrúcdữliệu và Giải thuật ...
Chương 11 – Hàng ưu tiên
Giáo trìnhCấutrúcdữliệu và Giải thuật
299
H
H’’ H’
Hình 11.14- Quá trình loại phần tử nhỏ nhất trong hàng nhị thức H.
Hiện...
...
Chương 12 – Bảng và truy xuất thông tin
Giáo trìnhCấutrúcdữliệu và Giải thuật
338
Chương 12 – Bảng và truy xuất thông tin
Giáo trìnhCấutrúcdữliệu và Giải thuật
335
như đầy. Tuy nhiên, ... xuất thông tin
Giáo trìnhCấutrúcdữliệu và Giải thuật
337
Tìm tuần tự là phương pháp mềm dẻo nhất trong các phương pháp. Dữliệu có
thể được lưu theo bất kỳ thứ tự nào, trong hiện thực liên ... lưu trữ dữliệu dựa trên cơ sở cây, có kết hợp tính
hiệu quả của tìm nhị phân với sự mềm dẻo của các cấutrúc liên kết.
Chương 12 – Bảng và truy xuất thông tin
Giáo trìnhCấutrúcdữliệu và...
... hiện thực các đồ thị trong các cấutrúcdữ
liệu như danh sách hoặc bảng. Tuy vậy, rõ ràng là đồ thị tự bản thân nó có thể
được xem như các cấutrúcdữliệu - các cấutrúcdữliệu mà có chứa các ... thị
Giáo trìnhCấutrúcdữliệu và Giải thuật
339
Chương 13
– ĐỒ THỊ
Chương này trình bày về các cấutrúc toán học quan trọng được gọi là đồ thị.
Đồ thị thường được ứng dụng trong rất ... các cạnh
trong Y sẽ dễ dàng nếu như chúng ta bắt chước cách lưu trữ các cạnh trong một
đồ thị.
Hình 13.12 – Hai cây phủ trong một mạng
Chương 13 – Đồ thị
Giáo trìnhCấutrúcdữliệu và Giải...
... dụng của ngăn xếp
Giáo trìnhCấutrúcdữliệu và Giải thuật
374
Trên đây là mã giả cho bài toán tìm đích, cấutrúcdữliệu để chứa đồ thị
chúng ta sẽ được tìm hiểu sau trong chương 13.
Algorithm ... ngược dữ liệu, toàn bộ dữliệu cần được duyệt
xong, chúng ta mới bắt đầu lấy dữliệu từ ngăn xếp. Nhóm ứng dụng liên quan
đến việc trì hoãn công việc thường chỉ cần trì hoãn việc xử lý dữliệutrong ... (parsing) dữliệu
Việc phân tích dữliệu thường bao gồm phân tích từ vựng và phân tích cú
pháp. Chẳng hạn, để chuyển đổi một chương trình nguồn được viết bởi một ngôn
ngữ nào đó thành ngônngữ máy,...