... trong cây Trie 24 7
10 .2. 5. Thêm phần tử vào Trie 24 7
10 .2. 6. Loại phần tử trong Trie 24 8
Mục lục
Giáo trìnhCấutrúcdữliệuvàGiảithuật
iv
7 .2. 1. Giảithuậtvà hàm 139
7 .2. 2. Phân tích ...
Hình 2. 1- Thêm phần tử vào và lấy phần tử ra khỏi ngăn xếp.
Mục lục
Giáo trìnhCấutrúcdữliệuvàGiảithuật
v
9 .2. Cây nhị phân 185
9 .2. 1. Các định nghóa 185
9 .2. 2. Duyệt cây ... Nếu chúng ta hiện thực copy constructor
Chương 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệuvàGiảithuật
17
Phần 2
– CÁC CẤUTRÚCDỮLIỆU
Chương 2 –
NGĂN XẾP
Chúng ta sẽ tìm hiểu một CTDL...
... THIỆU CẤUTRÚCDỮLIỆU
VÀ PHÂN TÍCH GIẢITHUẬT
I.1. Quan hệ giữa cấutrúcdữliệuvàgiải thuật, kiểu dữliệu
I.1.1. Biểu diễn dữliệu
Một mục tiêu quan trọng của tin học là nhằm giải ... thuật, kiểu dữliệu I.1
I.1.1. Biểu diễn dữliệu I.1
I.1 .2. Quan hệ giữa cấutrúcdữliệuvàgiải thuật, kiểu dữliệu
I.1
I.1.3. Các bước chính để giải một bài toán trên máy tính I .2
I .2. Thiết ... mật thiết giữa
cấu trúcdữliệuvàgiải thuật, kiểu dữ liệu, thiết kế và phân tích giải thuật, độ
phức tạp giải thuật,
- Chương 2: Giới thiệu các phương pháp cơ bản về tìm kiếm và sắp xếp trong...
... khái niệm “lập trình thủ tục” để giải quyết phần hiện thực bên trong của
Chương 1: Giới thiệu
Giáo trìnhCấutrúcdữliệuvàGiảithuật
8/16
Một đặc tả cho một kiểu dữliệu trừu tượng ... 1: Giới thiệu
Giáo trìnhCấutrúcdữliệuvàGiảithuậ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áotrình này, chỉ ...
hiểu đúng quy ước của trình biên dịch.
Chương 1: Giới thiệu
Giáo trìnhCấutrúcdữliệuvàGiảithuậ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...
... x;
}
}
return x;
}
Trang:9
Giáo trìnhcấutrúcdữliệuvàthuậtgiải Chương 2: Danh Sách
Dữ liệu nhập: nút khác và vị trí thay thế pos.
Điều kiện: 0=<pos<=numnodes-1
Dữ liệu xuất: không
• Tác ... vẽ sau miêu tả quá trình thêm một phần tử vào danh sách kề:
Trang:5
Giáo trìnhcấutrúcdữliệuvàthuậtgiải Chương 2: Danh Sách
Hình: Danh sách kề dùng mảng một chiều.
2.2 Cài đặt theo kiểu ... x;
Trang:15
Giáo trìnhcấutrúcdữliệuvàthuậtgiải Chương 2: Danh Sách
Chương 2:
DANH SÁCH
Danh sách(list) là một trong những cấutrúc cơ bản nhất được cài đặt trong hầu hết các
chương trình ứng...
... <class Entry>
Chương 3 – Hàng đợi
Giáo trìnhCâutrúcdữliệuvàGiảithuậ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ình 2. 2- Biểu diễn của dữliệu trong ngăn xếp liên tục.
Chương 5 – Chuỗi ký tự
Giáo trìnhCấutrúcdữliệuvàGiảithuật
87
a
1 0 1 0 0111
next
1
... 1: Giới thiệu
Giáo trìnhCấutrúcdữliệuvàGiảithuậ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áotrình này, chỉ những...
... đá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 ... tượng hàng đã tồn tại và được khởi tạo là hàng rỗng.
*/
{
front = rear = NULL;
}
Chương 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệuvàGiảithuật
31
Đối với mọi cấutrúc liên kết chúng ta ... 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 2 – Ngăn xếp
Giáo trìnhCấutrúcdữliệuvàGiảithuật
23
bool empty() const;
ErrorCode...
... kiểu dữliệu mới Mục tiêu của việc
nghiên cứu cấutrúcdữliệu chính là tìm những phương cách thích hợp để tổ chức, liên
kết dữ liệu, hình thành các kiểu dữliệu có cấutrúc từ những kiểu dữliệu ... dựng
các kiểu dữliệu mới dựa trên việc tổ chức, liên kết các thành phần dữliệu có kiểu dữ liệu
đã được định nghĩa. Những kiểu dữliệu được xây dựng như thế gọi là kiểu dữliệu có cấu
trúc. Đa số ... quá trình trừu tượng
hoá giúp chúng ta xây dựng một mô hình cho một kiểu dữliệu mới gọi là kiểu dữ liệu
trừu tượng(Abstract Data Type - ADT), mỗi kiểu dữliệu trừu tượng có mô tả dữliệu và
các...
... ");
Trang: 5
Giáo trìnhCấutrúcdữliệuvàthuậtgiải Chương 3: Cấutrúc Stack
Chức năng: Thêm nút mới vào hàng đợi.
Dữ liệu nhập: nút mới
Điều kiện: hàng đợi không bị đầy.
Dữ liệu xuất: không.
• ... ");
Trang: 15
Giáo trìnhCấutrúcdữliệuvàthuậtgiải Chương 3: Cấutrúc Stack
Hàng đợi là cấutrúc được sử dụng rộng rãi trong thực tế: người ta dùng hàng đợi để giải
quyết các vấn đề có cấutrúc FIFO ... quá trình nào có thời gian thực hiện ít
nhất được xếp lên trước nhất.
Cho file dữliệu vào lich.in được tổ chức như sau:
Trang: 17
Giáo trìnhCấutrúcdữliệuvàthuậtgiải Chương 3: Cấu trúc...
... năng: duyệt cây theo thứ tự giữa (LNR)
Dữ liệu vào: Không.
Dữ liệu ra: Không.
• Tác vụ posttrav
Chức năng: duyệt cây theo thứ tự sau (LRN)
Dữ liệu vào: Không.
Dữ liệu ra: Không.
• Tác vụ search
Chức ... p.
Dữ liệu nhập: con trỏ chỉ nút p.
Điều kiện: nút con phải của nút p là nút lá.
Dữ liệu xuất: nút bị xoá.
• Tác vụ pretrav
Chức năng: duyệt cây theo thứ tự trước (NLR).
Dữ liệu vào: không.
Dữ liệu ... rp;
}
}
Khi thêm nút x vào nhánh cây con trên, có 2 vị trí thêm phải cân bằng lại là thêm vào
nhánh T1 và thêm vào ở nhánh T2.
• Thêm vào ở nhánh T1
• Thêm vào ở nhánh T2: Phải tiến hành xoay...
... hình:
• Thêm khoá 2
Thêm 2 vào nút lá đầy thì ta tách nút lá ra làm 2 nút, nửa trái có 2 khoá là 2và 3, nửa
phải có 2 khoá là 8 và 12, nút 5 được đưa lên nút cha.
• Thêm khoá 42
Thêm 42 vào nút lá ... là con của nút lá
cũ.
Hình vẽ sau mô tả việc thêm 2 khoá 17 và 80 vào cây trên-xuống ở trên:
2.2 Cài đặt cây trên - xuống
2. 2.1 Khai báo cấu trúc
Gọi ORDER là bậc của cây trên xuống.
Gọi numtrees ... giua
if(pos==Ndiv2){
copy(nd,Ndiv2,ORDER -2, p);
nd->numtrees=Ndiv2+1;
p->son[0]=newnode;
*pmidkey=newkey;
*pnd2=p;
return;
}
//vi tri can chen vao ben nua trai
if(pos<Ndiv2){
copy(nd,Ndiv2,ORDER -2, p);
nd->numtrees=Ndiv2;
*pmidkey=nd->key[Ndiv2-1];
insnode(nd,newkey,newnode,pos);
*pnd2=p;
...
... sau miêu tả tiến trình thêm các nút 32, 53, 22 , 92, 17, 34 vào bảng băm.
Hình (a): Sau khi thêm 2 nút 32 và 53 vào bảng băm – lúc này chưa bị xung đột.
Hình (b): Thêm nút 22 và 92 vào bảng băm - ... nhiên, tập địa chỉ có 10 địa
chỉ và chọn hàm băm là f(key)=key % 10.
2.2 Cài đặt
2. 2.1Khai báo cấutrúc bảng băm
#define M 10
else
delafter(q);
}
2. 3 Chương trình minh hoạ
#include <stdio.h>
#include ... trên các cấutrúc như danh sách, cây nhị phân,…phần lớn được hiện thực bằng
cách so sánh các nút của cấu trúc, do vậy thời gian truy xuất không nhanh và phụ thuộc
vào kích thước của cấu trúc. ...
...
return true;
}
Tài liệu hướng dẫn thực hành môn Cấutrúcdữliệuvàgiảithuật
HCMUS 20 10
Trang 4
4. Vẽ hình danh sách liên kết theo dữliệu được nhập ở câu2.
5. Nếu trong hàm main ...
Tài liệu hướng dẫn thực hành môn Cấutrúcdữliệuvàgiảithuật
HCMUS 20 10
Trang 2
NỘI DUNG THỰC HÀNH
Cơ bản
Sinh viên đọc kỹ phát biểu bài tập và thực hiện theo hướng ...
- Áp dụng cấutrúcdữliệu danh sách liên kết vào việc giải quyết một số bài toán đơn giản.
Thời gian thực hành: từ 120 phút đến 400 phút
TÓM TẮT
Danh sách liên kết là cấutrúcdữliệu dùng...