BÀI THC HÀNH
Dùng danh sách liên kết đơn để qun lý mt lp hc. Biết rng mi sinh viên bao gm
các thông tin sau: Tên (chui t), s sinh viên (chui tự), Điểm trung nh.
Hãy viết hàm thc hin các yêu cu sau:
a. In danh sách sinh viên ra màn hình
b. Lit kê 5 sinh viên có điểm trung bình cao nht trong lp hc.
c. Cho biết s tng s sinh viên điểm trung bình <=5. Nếu không thì thông
báo không có.
d. Tìm mt sinh viên có tên X trong lp hc (X nhp t bàn phím)
e. Xoá mt sinh viên s cho trước trong lp hc. Nếu không thì thông
báo không có.
f. Sp xếp danh sách sinh viên tăng theo đim trung bình bng thut toán sp xếp
mà các bạn đã học (Selection Sort, Interchange Sort, Binary Sort)
g. Chèn mt sinh viên vào lp hc, biết ràng sau khi chèn danh sách sinh viên vn
tăng dần theo điểm trung bình.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
u hỏi & i tp Chương Bảng băm
Phần câu hỏi ôn kiến thức:
1.Hãy tnh bày ưu đim hn chế ca cu trúc bảng m và cho dụ minh ha c th ?
Bài tp :
1.Cho bảng A kích tc 11 ô và tp ka K = {7, 20, 16, 24, 12, 40, 15}, ta cn np các giá tr
khóa K vào bng A s dng hàm băm H(k) = k % 11.
y v bng A sau khi tt c các giá tr khóa trong tp K được lưu trữ trong bng A, s dng k
thut danh sách liên kết đ x lý xung đt.
2. Cho bng A kích thước 11 ô tp khóa K = {30, 10, 56, 14, 22, 60, 15}, ta cn np các giá tr
khóa K vào bng A s dng hàm băm H(k) = k % 7.
y v bng A sau khi tt c các g tr khóa trong tp K được u trữ vào bng A, s dng k
thut dò tuyến nh đ x xung đt.
3. Cho bảng A kích thưc 11 ô tp khóa K = {23, 12, 65, 27, 8, 50, 58}, ta cn np c giá tr
khóa K vào bng A s dng hàm băm H(k) = k % 10.
Hãy v bng A sau khi tt c các giá tr khóa trong tập K được lưu trữ vào bng A, s dng k
thuật dò toàn phương để x lý xung đột.
4.Cho bảng A kích tc 11 ô và tp ka K = {7, 20, 16, 24, 12, 40, 15}, ta cn np các giá tr
khóa K vào bng A s dng hàm băm H(k) = k % 11.
y v bng A sau khi tt c các g tr khóa trong tp K được u trữ vào bng A, s dng k
thuật băm p để x xung đt, với m băm kép th 2 t đnh nga.
5.Viết chương tnh minh ho bảng băm dùng pơng pháp nối kết trong c tng hp sau :
a. Dữ liu u trlà snguyên (khoá tìm kiếm sngun).
b. Dữ liệu u tr tng tin học sinh, bao gồm: họ tên học sinh, lớp, n trường (khoá
m kiếm n lớp).
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
6.Viết cơng trình minh ho bng băm ng phương pp tuyến nh trong các tng hp
sau:
a. Dữ liu u trlà sngun (khoá tìm kiếm là sngun).
b. Dữ liệu u tr tng tin học sinh, bao gồm: họ tên học sinh, lớp, n trường (khoá
m kiếm n lớp).
3.Gi s kích thước ca bảng m SIZE = s d1, d2, …, ds-1 hoán v ngu nhiên ca
các s 1, 2, …, s-1. Dãy thăm dò ứng với khoá k được xác định như sau:
i
0
= i = h(k)
i
m
= (i + d
i
) % SIZE , 1 ≤m≤s –1
Hãy cài đặt hàm thăm dò theo phương pháp trên.
Bài tp áp dng:
1. Viết chương trình cho phép tạo, tra cu t điển Anh-Vit s dng cu trúc bảng băm
2. Viết chương trình cho phép tạo, tra cứu sách trong thư viện s dng cu trúc bảng băm
3. Các bài tp khác do Giảng viên đề ngh
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
u hỏi & i tp B-Tree
Phần câu hỏi ôn kiến thức:
1. Trình bày định nghĩa và các tính chất ca cây B-Tree.
2. Cài đặt tt c các thao trên cây B-Tree.
3. Cho B-tree bc 5 gm các khóa sau (chèn vào theo th t): 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13,
11, 8, 19, 4, 31, 35, 56
Thc hin các yêu cu sau:
- Thêm các khóa: 2, 6,12
- Xóa khóa: 4, 5, 7, 3, 14
4. Khi to B Tree bc 7 vi các thao tác Insert: 34, 12, 55, 21, 6, 84, 5, 33, 15, 74, 54, 28, 10,
19. Hãy thc hin các chui thao tác sau và cho biết kết qu qua tng thao tác:
- Insert(11)
- Delete(15)
- Delete(6)
- Insert(98)
- Delete(34)
- Delete(5)
Bài tp :
1. Viết chương trình cài đặt các thao tác trên B tree.
2. Các bài tp khác do Giảng viên đề ngh
u hỏi & i tp Chương Danh sách liên kết
Phần câu hỏi ôn kiến thức:
1. Trình bày từng bước các thao tác trên danh sách liên kết đơn
2. Trình bày từng bước các thao tác trên danh sách liên kết đôi
3.Gi s cho mt danh ch ln kết đơn có thành phn d liu là các s ngun ơng, người ta
muốn tách danh sách đã cho thành hai danh sách rng biệt, trong đó một danh ch u số chn,
một danh sáchu số l. Hãy tnhy gii thut để tách danhch đã cho sao cho hiệu qu nht v
thi gian x và b nh s dụng, đặc bit xét c trong trường hp danh sách đã cho bao gm tt c
s chn hoc s l.
4.Hãy trình bày gii thut trn hai danh sách liên kết đơn đã có thứ t (ng hoc gim dn) thành
mt danh ch có th t sao cho ti ưu b nh nht có th.
5.Cho danh sách liên kết được mô t bi cu trúc d liệu trên C n sau:
struct Node
{ int info;
struct Node *next;
};
Hãy viết thut giải nhn đầu o danh sách ln kết với phân tử đầu tiên được trỏ bởi list,
thc hiện sp xếp lại các phn tcủa danh ch đã cho, sao cho các t chẵn đứng tớc c
t lẻ trong trưng hợp ngược lại, thttương đối ban đầu của c t không thay đi.
Mộtt được gọi là nút chn hay lẻ nếu nó đứng ở vị t chẵn hay l trong danhch (vị t của
các t trong danh sách được đánh stphần tđầu tn đến phn tcuối cùng bt đầu t 0).