... Báo cáo và mã lệnh, nộp thông qua lớp
trưởng.
Gi i thi u môn h cớ ệ ọ
2
Giới thiệu
Môn học giới thiệu
Các cấutrúcdữliệu cơ bản
Các giảithuật điển hình trên các cấutrúcdữliệu đó
Dùng ... môn h cớ ệ ọ
10
Bài tập thực hành
Đề bài tập:
Bài tập cho hàng tuần (file)
Các bài trong tài liệu tham khảo
Tự sưu tầm
Giải bài tập:
Giờ thực hành
Tự giảibài tập
Gi i thi u ... TEST)
CẤU TRÚCDỮLIỆU
VÀ GIẢI THUẬT
Giới thiệu môn học
Gi i thi u môn h cớ ệ ọ
4
Tài liệu
[1] C_and_DataStructure - P. S. Deshpande, O. G.
Kakde (Bắt buộc mỗi SV phải có)
[2] Bài giảng...
... toán giải quyế
t
vấn đề.
Các tiêu chuẩn khi lựa chọn cấutrúcdữliệu
• Cấutrúcdữliệu trước hết phải biểu diễn được đầy đủ các thông tin nhập và xuất của bài
toán
• Cấutrúcdữliệu phải ... phải hai sai lầm trầm trọng:
hoặc là sai về giải thuật, hoặc là giảithuật không thể triển khai nổi trên một cấutrúcdữliệu
12 CấutrúcdữliệuvàGiải thuật
http://www.ebook.edu.vn TRUỜNG ... qua những cấutrúcdữliệuvàgiảithuật hết sức mẫu mực, chúng
ta rút ra được bài học kinh nghiệm: Đừng bao giờ viết chương trình khi mà chưa suy xét kỹ
về
giải thuậtvà những dữliệu cần...
... nghĩa cấutrúcdữliệu của danh sách liên kết đơn được mô tả
như sau:
typedef struct Node{
int Key;
Node *pNext;
};
Trong đó khai báo Node *pNext dùng để mô tả:
39
A. Con trỏ trỏ tới phần dữliệu ... nghiệp
Tài liệu học tập
Giáo trình:
C & Data Structures, P. S. Deshpande, O. G. Kakde -
CHARLES RIVER MEDIA, INC. Hingham, Massachusetts.
Tham khảo:
Giáo trình Cấutrúcdữliệu 1, Trần ... Hàng đợi (queue)
Định nghĩa cấutrúc Node trong stack, queue
Cách thức hoạt động của stack, queue
47
Ôn tập tốt nghiệp
Ngăn xếp (Stack) thường được gọi là cấutrúc dạng?
48
A. IFOF
B. FILO...
... thuậtgiải tìm một lời giải cho bài toán 8 hoàng hậu. Tuy
nhiên, ta có thể mở rộng để có thể tìm mọi lời giải cho bài toán. Sơ đồ tổng quát
cho giảithuật back-tracking để tìm mọi lời giải cho bài ... chứa nội dung của nút và trờng
next là con trỏ chỉ đến nút kế tiếp trong danh sách.
* Lu ý:
- Cấutrúc danh sách liên kết là cấutrúc động, các nút đợc cấp phát hoặc
bị giải phóng khi chơng ...
CHƯƠNG IV
DANH SáCH LIÊN KếT
(LINKED LIST)
I. Khái niệm:
Cấu trúc danh sách liên kết là cấutrúc động, việc cấp phát nút vàgiải
phóng nút trên danh sách xảy ra khi chơng trình đang chạy....
... dụng Liên kết
Cấu tạo của nút
Tạo lập bằng cách cấp phát bộ nhớ động
Mỗi nút gồm có các thông tin:
•
Dữ liệu (data)
•
2 liên kết pLeft, pRight liên kết đến nút con trái và
nút con phải
Cây ... nghĩa và các khái niệm
Cây nhị phân
Cây nhị phân tìm kiếm (BST)
Cây tổng quát
Các thuật ngữ
Bậc của nút và bậc của cây
Nút A: bậc 3, nút C bậc 1
Bậc của cây: 3
Nút gốc, Nút lá và nút ... retrurn Delete( X, root.pRight );
else // tìm ra nút cần xóa
Thêm một phần tử
vào cây nhị phân tìm kiếm
Thêm vào phần tử có khóa x
44
18 88
13 37
59 108
15 23 40 55 71
Thêm X= 50
X > 44
X...
... sách được lưu vào một
mảng (truy cập nhanh)
Với đồ thị không định hướng có n đỉnh và e
cạnh, thì cần n nút đầu và 2e nút ‘trong’ danh
sách
Với đồ thị định hướng có n đỉnh và e cạnh, thì ... a
(2)
ij
=
V (a
ik
Λ
a
kj
)
a
ik
Λ
a
kj
=1, khi a
ik
=1 và a
kj
=1, => tức là có
đường đi độ dài 1 từ i tới k và có đường đi đô
dài 1 từ k tới j
n
k=1
Cây khung (Spanning tree)
Chú ... đình đầu và đỉnh cuối)
Các khái niệm (tt)
Đồ thị vô hướng Đồ thị định hướng
Biểu diễn đồ thị
Biểu diễn bằng ma trận kề
Adjacency matrice
Biểu diễn bằng danh sách kề
Adjacency list
Bài toán...
... xếp lựa chọn (selection sort)
Ý tưởng:
Giải thuật “selection sort” sắp xếp một danh
sách các giá trị bằng cách lặp lại việc đặt một
giá trị cụ thể vào đúng vị trí thích hợp cho nó
trong dãy ...
(sắp xếp trên bộ nhớ trong - RAM)
Minh họa các thuật toán
Đánh giá thuật toán
Heap sort
Giải thuật
void Heapsort()
{
int tmp;
makeheap(a,n)
for (int i=n-1;i>0;i ){
tmp=a[0];a[0]=a[i];a[i]=tmp;
setupHeap(a,0,i);
}
... (Buble Sort)
Độ phức tạp tính toán
Ở bước thứ i, có n-i phép so sánh
Thời gian thực hiện giảithuật T(n) ~ O(n
2
)
Heap sort
Heap sort
58
99
87
36
94
65
71
43
1123
0
1 2
3 4 5 6
7 8 9
3
58
87
65
36
94
43
71
99
1123
1...
...
dàng hơn.
Các giảithuật tìm kiếm được xây dựng nhằm mục tiêu hỗ trợ
ứng dụng có hiệu quả hơn.
Các giảithuật phụ thuộc vào vào cấutrúcdữliệu mà nó tác
động đến. Dữliệu được lưu trữ ... không bảo đảm an toàn dữ liệu.
Để giúp an toàn dữ liệu, một tập tin thường được đi kèm theo
tập tin chỉ mục (Index File) làm nhiệm vụ điều khiển thứ tự truy
xuất dữliệu trên tập tin theo ... = Mid + 1;
}
return (-1);
}
29
Bài tập
Cài đặt các thuật toán trong lý thuyết
Bài tập trong giáo trình chương 2
Bài tập thực hành tuần 2, 3
14
2.2 Các giảithuật tìm kiếm nội (tt)
Tìm...
... tin
Kết luận
Sự liên quan giữa CTDL vàgiải thuật:
Cấu trúcdữliệu cụ thể: chọn giảithuật
Giải thuật cụ thể: chọn cấutrúcdữliệu
Cấu trúcdữliệu trừu tượng:
Dữ liệu cụ thể bên trong
Các phương ... thiệu:
Các cấutrúcdữliệu cơ bản
Các giảithuật điển hình trên các cấutrúcdữliệu đó
Dùng phương pháp hướng đối tượng.
Ngôn ngữ lập trình minh hoạ:
Mã giả (pseudocode)
C++ (không được giảng dạy ... tin
Đặc điểm của OOP
Tính bao đóng:
Che dấu cấutrúcdữliệu bên trong.
Che dấu cách thức hiện thực đối tượng.
Kế thừa:
Định nghĩa thêm các dữliệuvà phương thức cần
thiết từ một class có sẵn.
Cho...
... Nghệ Thông Tin- ĐH ĐN. Page 25
Bài báo cáo bài tập thực hành môn : CấuTrúcDữLiệu & Giải Thuật.
BÁO CÁO BÀI TẬP THỰC HÀNH MÔN CẤUTRÚCDỮLIỆU & GIẢITHUẬT
Bài 1. Viết chương trình con ... Thông Tin- ĐH ĐN. Page 22
Bài báo cáo bài tập thực hành môn : CấuTrúcDữLiệu & Giải Thuật.
}
Bài 24. Viết chương trình con đảo ngược 1 Queue.
Bài 25. Dùng Stack và Queue để kiểm tra 1 chuỗi ... Lớp 06I Trường CĐ Công Nghệ Thông Tin- ĐH ĐN. Page 26
Bài báo cáo bài tập thực hành môn : CấuTrúcDữLiệu & Giải Thuật.
Bài 3. Tương tự bài tập 1, nhưng cài đặt bằng con trỏ.
struct Node
...
... thông tin tạm thời trong quá trình di
chuyển.
2
Cấu trúcdữliệu & giảithuật CNTT
G×F
Bài thực hành số 3
Stack - Queue
Bài tập 3.1:
Viết chương trình tính giá trị biểu thức ... tiên của O
1
≤ độ ưu tiên O
2
thì lấy O
2
ra
khỏi stack và ghi vào chuỗi kết quả.
Push O
1
⇒ stack
1
Cấu trúcdữliệu & giảithuật CNTT
Sinh viên cài đặt stack dùng danh sách ... Cấutrúcdữliệu & giảithuật CNTT
Nếu gặp dấu đóng ngoặc: thì lấy toán tử trong stack
ra cho đến...
... cầu sau:
1. Cài đặt cấutrúcdữliệu Book theo mô tả như phần A
2. Cài đặt cấutrúc BookNode là phần tử của danh sách liên kết chứa danh mục sách.
Hình: Minh họa cấutrúc của phần tử trên ... Cấutrúcdữliệuvàgiảithuật
a. Mượn sách: liệt kê những cuốn sách chưa cho mượn, cho user chọn một
cuốn sách ⇒ rồi cập nhật lại trạng thái cho mượn của sách.
b. Trả sách: nhập vào mã ... chọn các thông tin của sách để
sửa và sau đó cập nhật lại.
8. Chức năng lưu file: nhập vào một tên file rồi lưu toàn bộ trạng thái hiện tại của
danh mục sách vào đó.
Yêu cầu:
Sinh viên phải...