Cấu trúc dữ liệu trong C ++ - Chương 1
... một dữ liệu cụ thể nào đó mà chương trình cần đến. Những thao tác cơ bản đối với một CTDL thường là: thêm dữ liệu mới, xóa bỏ dữ liệu đã có, tìm kiếm, truy xuất. Ngoài các thao tác dữ liệu ... hiện thực bằng một lớp trong C++. Các phương thức của lớp trong C++ tương ứng một cách tự nhiên với các thao tác dữ liệu trên ADT, trong khi những thành phần dữ liệu của lớp trong C++ tương ứng ... cao, nó có thể chấp nhận bất kỳ một kiểu dữ liệu nào cho dữ liệu được lưu trong nó. Trong C++ từ khóa template cho phép chúng ta làm điều này. Các kiểu dữ liệu này thường được yêu cầu phải có...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 2
... duy trì tính nhất quán với các cấu trúc dữ liệu khác cũng như các cách hiện thực khác nhau của một cấu trúc dữ liệu: một cấu trúc dữ liệu bao gồm các dữ liệu và một tập các thao tác. • Cuối ... • Chép dữ liệu từ ngăn xếp được truyền vào thông qua thông số. • Giải phóng vùng nhớ chiếm giữ bởi dữ liệu của đối tượng ngăn xếp đang được thực hiện lệnh gán. • Chuyển các dữ liệu vừa chép ... trì bởi các phương thức thao tác dữ liệu bên trên. Trạng thái ban đầu hợp lệ là trạng thái rỗng không chứa dữ liệu nào hoặc trạng thái đã chứa một số dữ liệu theo như mong muốn của người...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 3
... hàng liên kết Chương 3 – Hàng đợi Giáo trình Câu trúc dữ 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ủa lớp Chương 3 – Hàng đợi Giáo trình Câu trúc dữ 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ấu trúc dữ liệu khác. Chúng ta có lớp Queue như sau: ... Hàng đợi Giáo trình Câu trúc dữ liệu và Giải thuật 37 Chương 3 – HÀNG ĐI 3.1. Định nghóa hàng Trong các ứng dụng máy tính, chúng ta định nghóa CTDL hàng là một danh sách trong đó việc thêm...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 4
... 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ấu trúc gồm hai phần: entry kiểu Entry chứa dữ liệu, ... chế như ngăn xếp và hàng, trong đó việc thêm/ bớt dữ liệu chỉ thực hiện ở các đầu của danh sách. Trong chương này chúng ta tìm hiểu các danh sách thông thường hơn mà trong đó việc thêm, loại ... phần tử kế được truy xuất, các lệnh trong vòng for chỉ chạy một lần, hàm vẫn thực hiện rất nhanh. Trong trường hợp xấu Chương 4 – Danh sách Giáo trình Cấu trúc dữ liệu và Giải thuật 71 Khi...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 6
... new_string; Lệnh s = "def" đã làm thay đổi dữ liệu mà new_string chỉ đến. Một chiến lược khác cho phương thức c_str() có thể là định vị vùng nhớ động mới để chép dữ liệu của đối ... Cấu trúc dữ 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 danh ... 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ình Cấu trúc dữ liệu và Giải thuật 84 0 1 2 3 4...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 7
... Đệ quy Giáo trình Cấu trúc dữ 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ấu trúc dữ liệu mà cho phép truy nhập ... 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ình Cấu trúc dữ liệu và Giải thuật 118 6.3.5. Tinh chế: Cấu trúc dữ liệu ... Cấu trúc dữ liệu và Giải thuật 127 6.4. Các chương trình có cấu trú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 phần...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 8
... kiếm nhị phân. Chương 7 – Tìm kiếm Giáo trình Cấu trúc dữ liệu và Giải thuật 138 khác với các cấu trúc dữ 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ử trước khi ... này. Chương 7 – Tìm kiếm Giáo trình Cấu trúc dữ 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ứ tự. ... tìm kiếm ngoại. Nếu lượng dữ liệu lớn phải lưu trên thiết bị lưu trữ ngoài như đóa hay băng từ thì bài toán được gọi là tìm kiếm ngoại. Ngược lại nếu toàn bộ dữ liệu được lưu trữ trên bộ nhớ...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 9
... Cấu trúc dữ liệu và Giải thuật 182 Chương 8 – Sắp xếp Giáo trình Cấu trúc dữ liệu và Giải thuật 172 (b) Không thỏa điều kiện của heap tại nét đứt rời. (c) Hiện thực heap ở hình a trong một ... thể sử dụng bất kỳ dạng hiện thực nào của lớp List trong chương 4. Các phần tử dữ liệu trong Sortable_list có kiểu là Record. Như đã giới thiệu trong chương 7, Record có các tính chất sau đây: ... trúc dữ liệu và Giải thuật 152 // Dành cho danh sách liên tục trong chương 4. template <class Record> void Sortable_list<Record>::insertion_sort() /* post: Các phần tử trong...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 10
... 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ình Cấu trúc Dữ liệu và Giải ... trái của cây con phải - sau khi chép dữ liệu của nút này lên dữ liệu của nút cần loại). Chúng ta bắt đầu bằng một hàm phụ trợ sẽ loại đi một nút nào đó trong cây nhị phân tìm kiếm. Hàm này ... loại phần tử trong O(log n) thời gian. Định nghóa: Một cây nhị phân tìm kiếm (binary search tree -BST) là một cây hoặc rỗng hoặc trong đó mỗi nút có một khóa (nằm trong phần dữ liệu của nó)...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 11
... thấy sự khác nhau trong việc tìm kiếm trong một danh sách và việc tra cứu trong một bảng. Chúng ta có thể áp dụng ý tưởng trong việc tra cứu bảng vào việc truy xuất thông tin trong một cây bằng ... dữ 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ấu trúc dữ liệu, một cách hiển nhiên để hiện thực trong ... còn lại trong định nghóa đối với cây B-tree bậc 4 nói lên rằng mỗi nút chứa một, hai hoặc ba phần tử dữ liệu. Chúng ta cần một điều kiện trên cây đỏ đen để bảo đảm rằng khi các nút trong cây...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 12
... trình Cấu trúc dữ liệu và Giải thuật 283 Chương 11 – HÀNG ƯU TIÊN Cấu trúc dữ 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ế, ... thức trong hàng nhị thức, khi cần tìm phần tử nhỏ nhất trong hàng nhị thức chúng ta tìm trong danh sách này. Hình elipse nét rời nhỏ chứa các nút con của nút gốc trong một cây nhị thức. Trong ... 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ình Cấu trúc dữ liệu và Giải thuật...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 13
... sách và bảng. Sau đó chúng ta sẽ tiếp tục làm quen với một cấu trúc dữ liệu khá đặc biệt và rất phổ biến, đó là bảng băm. Cấu trúc dữ liệu bảng băm cũng xuất phát từ ý tưởng sử dụng bảng như ... sự rải đều các khóa trong bảng băm vừa bảo đảm kết quả nhận được luôn nằm trong miền các chỉ số cho phép. 12.5.3. Phác thảo giải thuật cho các thao tác dữ liệu trong bảng băm Trước hết, ... các dữ liệu hiện có trong bảng băm: void Hash_table::clear(); // post: Bảng băm đã được dọn dẹp và trở thành bảng băm rỗng. Mặc dù chúng ta đã bắt đầu đặc tả các phương thức của bảng...
Ngày tải lên: 14/11/2012, 17:33
Cấu trúc dữ liệu trong C ++ - Chương 14
... hiện thực các đồ thị trong các cấu trúc dữ 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ấu trúc dữ liệu - các cấu trúc dữ liệu mà có chứa các ... các dữ liệu phức tạp hơn những gì đã được mô tả trong một danh sách hoặc một cây. Do tính tổng quát và mềm dẻo, đồ thị là cấu trúc dữ liệu rất hiệu quả và đã tỏ rõ những giá trị của nó trong ... 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ình Cấu trúc dữ liệu và Giải...
Ngày tải lên: 14/11/2012, 17:33