... ccbàitập trong cc Module ở tuần tương ứng.
Những sinh viên chưa hòan tất phần bàitập tại lớp c trách nhiệm tự làm
tiếp t c ở nhà.
•
Ccbàic dấu (*) là ccbàitập nâng cao dành cho ... Tâm CNTT – BàiTập Th c Hành CTDL>
Trang 5/12
Module 4
Bài 1
Tổ ch cvà xây dựng 2 hàm : GiảiPT_bac1 và GiảiPT_bac2 với cc tham số hợp lý.
Sử dụng 2 hàm này ñể giải pt b c 2.
Bài ... khách gồm cc thông tin: Khách(PassID, ten)
Sử dụng ccc u tr cdữliệu sau. Th c hiện menu với 3 ch c năng: thêm vé máy bay, thêm hành khách,
bán 1 vé máy bay (vé chưa bán) cho 1 hành khách...
... bu c mỗi SV phải c )
[2] Bài giảng & Bài th c hành CTDL - Trường ĐHCN.
[3] Giáo trình C u tr cdữliệu 1, Trần Hạnh Nhi –
Dương Anh Đ c, Trường DHKHTN – DHQG TP.HCM.
[4] C u tr cdữ liệu, ... thi u 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 cbà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 môn h c ệ ọ
11
Đồ án môn h c
M c đích:
Hiểu bài
Làm bài ở nhà theo từng SV
Chọn đồ án (1 sinh viên th c hiện 1 đồ án –viết tay tất
c ccbàitập th c hành vàccbàitập làm...
... đề.
C c tiêu chuẩn khi lựa chọn c u tr cdữliệu
• C u tr cdữliệu trư c hết phải biểu diễn đưc đầy đủcc thông tin nhập và xuất c a bài
toán
• C u tr cdữliệu phải phù hợp với cc thao ... nút tận c ng. Ví dụcc nút 1.1,
2.1.1, 2.1.2, 2.2, 2.3, c3 là cc nút là.
C p c a c y là c p cao nhất c a cc nút trên c y. Ví dục y
Sách
ở trên là c p 3.
C u tr cdữliệuvàGiảithuật ... xét m c l c của một quyển sách. M c l c này c thể xem là một c y
Nút g c là sách, nó c ba c y con c g c là C1 , C2 , C3 . C y con thứ 3 c g c C3 là một nút
đơn đ c trong khi đó hai c y con...
... C u tr cdữliệuvàthuật toán 1
I. KHÁI NIỆM VỀ C U TR CDỮ LIỆU
1. C u tr cdữliệu là gì ? :
C u tr cdữliệuvàthuật toán 1
II. THUẬT GIẢI
1. Khái niệm thuậtgiải :
Khái niệm giảithuật ... Program)
I. KHÁI NIỆM VỀ C U TR CDỮLIỆU
C u tr cdữliệuvàthuật toán 1
I. KHÁI NIỆM VỀ C U TR CDỮ LIỆU
1. C u tr cdữliệu là gì ? :
Dữliệu không cc u tr c (đơn giản):
Int, Char, Boolean, ... 1 chiều
Array 1 chiều
4
4
14
14
22
22
38
38
27
27
15
15
I. KHÁI NIỆM VỀ C U TR CDỮ LIỆU
C u tr cdữliệuvàthuật toán 1
I. KHÁI NIỆM VỀ C U TR CDỮ LIỆU
1. C u tr cdữliệu là gì ? :
C u trúc...
... (LNR) ta c kết
quả: DBHEAFICGJ. Hãy cho biết cc nút c a c y con trái:
55
A. BDHE
B. FIHE
C. DHEG
D. DEH
Ôn tập tốt nghiệp
C y nhị phân
Cho c y nhị phân với nút g c A. Nút g c có con bên trái ... trái là B và
con bên phải là C. B c con bên trái là D và con bên phải là E.
C ch duyệt nào sau đây là theo thứ tự giữa (LNR)?
56
A. DBEAC
B. ABCDE
C. ABDEC
D. DEBAC
Ôn tập tốt nghiệp
C y nhị ... trư c (NLR)
cho kết quả là:
54
A. ADBCEFG
B. AEDBCFG
C. ABDECFG
D. AEBDCGF
Ôn tập tốt nghiệp
C y nhị phân tìm kiếm
Định nghĩa c u tr c Node trong c y nhị phân tìm kiếm
Quy t c trong c y...
... nút c a danh sách c trờng info 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 u tr c danh sách liên kết là c u tr c động, cc nút đ c cấp ... Ta c 3 cc A, B, Cvà n dĩa đ c
xếp trên cc A sao cho dĩa nhỏ trên dĩa lớn.
HÃy viết chơng trình di chuyển n dĩa từ cc A sang ccC với cc B
làm trung gian, theo điều kiện :
- Mỗi lần chỉ ... S(n): ta c kết quả c a S(1), thay nó vào S(2), c S(2) ta thay nó vào
S(3) , c nh vậy c S(n-1) ta sẽ tính đ c S(n)
C ng nh cc lệnh lặp, cc thủ t c đệ qui c ng c thể th c hiện cc tính
toán...
... nghĩa vàcc 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 cthuậ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 ... đến nút con trái
BSTNode pRight; //con trỏ đến nút con phải
};
BSTNode root = NULL; //g c của c y
M c tiêu
Trang bị cho sinh viên cc khái niệm và ứng dụng c y
C i đặt và th c hiện cc phép ... đưc phân hoạch thành n tập riêng biệt
T1, T2 , , Tn, mỗi tập Ti là một c y
Giữa cc nút c quan hệ phân c p (hierarchical
relationship) gọi là “quan hệ cha con”
C y không c nút gọi là c y...
... đỉnh c a
cung đưc thêm c thu ctậpcc đỉnh hiện
c trong T không, nếu c , nghĩa là sẽ tạo
nên chu trình
C y khung (Spanning tree)
Ví dụ: Cho một đồ thị G vô hướng, liên
thông, c trọng ... danh sách kề (tt)
Chú ý
C c nút đầu danh 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 ... từ k tới j
n
k=1
C y khung (Spanning tree)
Chú ý
Một đồ thị G c thể c nhiều c y khung
C y khung theo chiều rộng, theo chiều sâu
C c cung trong c y khung không tạo nên chu
trình
•
Giữa...
... một danh
sách cc 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
Nói c ch kh c, với mỗi vị trí trong danh sách,
giải thuật đi tìm ... mãn
•
h
i
>h
2i+1
•
h
i
>h
2i+2
Chú ý
•
C c phần tử c chỉ số [n/2],…,n-1 là nút lá
•
HEAP c n phần tử thì c [n/2] nút trong
Sắp 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 ... giản
M c tiêu
Trình bày ccthuật toán thông dụng cho vi c sắp xếp trong
(sắp xếp trên bộ nhớ trong - RAM)
Minh họa ccthuật toán
Đánh giá thuật toán
Heap sort
Giải thuật
void Heapsort()
...
... 4
Giải bài toán bằng máy tính
Hai yếu tố tạo nên một chương trình máy
tính
C u tr cdữ liệu
Giải thuật
C u tr cdữliệu + Giảithuật = Chương trình
Một số ví dụ
int MaxSubSum1(const int ... toán c một dữliệu vào
(Input) và một dữliệu ra (Output);
Thiết kế giải thuật
Từ bài toán đến chương trình
Bài toán
th c tế
Thiết kế
Lập trình
Giải thuật
#include
…
Chương trình
Kỹ thuật ... gian (Time
complexity)
Thời gian th c hiện thuật toán
LOGO
Ths. Phạm Thanh An
Khoa C ng nghệ thông tin
Trường Đại h c Ngân hàng TP.HCM
Chương 1. C u tr cdữ
liệu vàgiảithuật
Giải thuật
Định...
... lui
(back tracking)
Đ c trưng : là cc bư c hướng tới lời giải
cuối c ng c a bài toán hoàn toàn đưc
làm thử.
Tại mỗi bư c
Nếu c một lựa chọn đưc chấp nhận thì ghi nhận lại
lựa chọn này và ...
TinhYn(n-1);
}
M c tiêu
Trang bị cho sinh viên cc khái niệm vàc ch
thiết kế giảithuật đệ qui, giảithuật đệ qui quay
lui.
Giới thiệu một số bài toán điển hình đưcgiải
bằng giảithuật đệ qui.
Phân ... hành cc bư c thử tiếp theo.
Ngư c lại, không c lựa chọn nào thích hợp thì làm lại
bư c trư c, xóa bỏ sự ghi nhận và quay về chu trình
thử cc lựa chọn c n lại
Phương pháp quay lui
(back...
... Tr cDữLiệu & Giải Thuật.
BÁO C O BÀITẬP TH C HÀNH MÔN C U TR CDỮLIỆU & GIẢITHUẬT
Bài 1. Viết chương trình con bằng gaiir thuật đệ qui để th c hiện cc công vi c sau:
- Tính n!
- ... N=N->Right;
}
}
Bài 14.Viết chương trình con tách 1 danh sách chứa cc số nguyên cc phần tử
thành 2 danh sách : 1 danh sách gồm cc số chẵn c n danh sách kia gồm cc số lẻ.
void Tach(DanhSach &A,DanhSach ... Chình – Lớp 06I Trường CC ng Nghệ Thông Tin- ĐH ĐN. Page 2
Bài báo c o bàitập th c hành môn : C u Tr cDữLiệu & Giải Thuật.
Bài 13. Viết chương trình con xóa khỏi danh sách lưu trữ c ...
... C u tr 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ã ... sách đưc trả ⇒ c p nhật lại trạng thái đã trả
sách cho cuốn sách đó.
7. Ch c năng chỉnh sửa nội dung c a sách: cho phép chọn cc thông tin c a sách để
sửa và sau đó c p nhật lại.
8. Ch c ... phần A
2. C i đặt c u tr 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 u tr cc a phần tử trên danh sách liên kết
3. C i đặt toàn bộ cc ch c năng mô tả...