Đề thi Cấu trúc dữ liệu và giải thuật | Đại học Bách Khoa Hà Nội

Đề thi Cấu trúc dữ liệu và giải thuật | Đại học Bách Khoa Hà Nội. Tài liệu được biên soạn giúp các bạn tham khảo, củng cố kiến thức, ôn tập và đạt kết quả cao kết thúc học phần. Mời các bạn đọc đón xem!

1 | P a g e
TRƯỜ NG Đ I H C BÁCH KHOA HÀ NI
VIN CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG
B MÔN KHOA HC MÁY TÍNH
***
H tên
: ……………………………
Lp: …………………………………
SHSV
: ……………………………….
ĐỀ THI MÔN: C U TRÚC D LI U
VÀ GII THUT
Ngày thi: …../…../….
Thi gian 90’
(
Sinh viên đượ c s d ng tài liu
)
Hà ni, .…. /….. / …...
Trưởng b môn
Bài 1.
a) So sánh ưu nhược điểm khi lưu tr u trúc liên k cây nh phân chiều cao dùng: (1) m 2) cng, ( ết
struct BNode
{
DATA_TYPE data; //là kiu d li u lưu tr ti nút
struct BNode * Lchild, *Rchild; //con tr ti cây con trái và con phi
}
Theo các tiêu chí:
B nh,
thờ i gian truy c p một nút b t kỳ,
tìm nút cha c t k trên câya một nút bấ
b) Đánh giá th i gian th ực hi n t i nh ất của hàm sau theo O-lớn
double fastPower(double x, int n)
{
double fract;
if return(n==0) 1;
fract = fastPower(x,n/2);
if return(n%2==0) fract* ; fract
else return fract*fract*x;
}
c) So sánh ưu nhược u t toán tìm kiếm
nh phân, cây nh p
Tiêu chí
Tìm kiếm nh phân
Cây nh phân tìm ki ếm
Bảng băm
B nh dùng lưu trữ các
ph n t
Thời gian tìm kiếm
Thêm phầ n t
Xoá ph n t
In ra danh sách các phần tử
hiện có
CD - 02 2011
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2 | P a g e
Bài 2.
a) Biể u th c dng hậu tố là gì? Ưu điể m của bi u thứ ố?c d ng h u t
b) Định giá biểu thứ c d ng hậu tố sau (trình bày rõ các trạng thái trung gian của STACK
10 2 3 + / 2 ^ 4 12 8 % +
c) V cây biểu thứ c bi u di n cho bi ểu th c phn b (không cn phải trình bày các bư c trung gian)
Bài 3.
a) Cho cây nh phân tìm kiếm ban đ u như hình
thêm lần lượt dãy khóa 33, 43, 12, 36, 78, 29, 16, 9, 65, 27, 32. Hãy v cây nh ph
kết quả thu đư i cùng (không cợc cuố ần trình bày các bước trung gian).
b) V i cây nh phân tìm k m thu đưiế c ph n a, th c hiện xóa l t khóa ần lượ 18
và 33. Hãy vẽ ế cây k t quả thu được sau mỗi lần xóa
Chú ý: chọn nút thay thế nút ph i nh ất trên cây con trái
Bài 4. Cho một đơn đồ th vô hướng 𝐺(𝑉, 𝐸) như sau
𝑉 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻}
𝐸 = {(𝐴 𝐴 𝐴, 𝐵), ( , 𝐶), ( , 𝐸), (𝐵 𝐵, 𝐸), (𝐵, 𝐺), (𝐶 𝐶, 𝐷), ( , ), (𝐷, 𝐸 𝐸), (𝐹 𝐹, 𝐷), ( , ), (𝐹, 𝐺), (𝐻, 𝐵), (𝐻, 𝐺)}
a) Hãy bi u di ễn đồ th
b) Thực hiện nh BFS từ đ B
c) Hãy đưa ra các loại cạnh thu được khi BFS tạ i đ nh B (BackEdge, CrossEdge, TreeEdge và ForwardEdge).
Lưu ý: Các đỉnh trên đồ thị được thăm theo thứ tự ABC
Bài 5. Để ế biểu diễn các t p h p s nguyên ta dùng danh sách liên k t đơn v u trúc m t phới cấ ần tử được
khai báo như sau:
typedef struct Node
{
int data;
struct node *pNext;
} NODE;
a) Hãy xây dựng hàm ng h p biết các
ph n t c a t p h p xợp được s ếp theo thứ tự tăng d ị.n v giá tr
int FindMax pHead (NODE * )
{
}
b) Hãy đánh giá th i gian th ực hiện trong trườ ng h p tồi nh t c a hàm b t theo O ạn viế -lớn
CuuDuongThanCong.com https://fb.com/tailieudientucntt
| 1/2

Preview text:

Mã đề CD 2011 - 02
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI
VIN CÔNG NGH THÔNG TIN VÀ TRUYN THÔNG
B MÔN KHOA HC MÁY TÍNH *** ĐỀ THI MÔN: C U TRÚC D L I U
Hà nội, .…. /….. / …...
H tên: ……………………………
VÀ GII THUT
Trưởng b môn Ngày thi Lp : …../…../….
: …………………………………
Thi gian 90’
SHSV: ……………………………….
(Sinh viên được s dng tài liu) Bài 1.
a) So sánh ưu nhược điểm khi lưu trữ cây nhị phâ
n chiều cao ℎ dùng: (1) mảng, (2) cấu trúc liên kết struct BNode {
DATA_TYPE data; //là kiểu dữ liệu lưu trữ tại nút
struct BNode * Lchild, *Rchild; //con trỏ tới cây con trái và con phải } Theo các tiêu chí: • Bộ nhớ, • thời gian truy ậ c p một nút bất kỳ,
• tìm nút cha của một nút bất kỳ trên cây
b) Đánh giá thời gian thực hiện tồi nhất của hàm sau theo O-lớn
double fastPower(double x, int n ) { double fract; if(n==0) return 1; fract = fastPower(x,n/2);
if(n%2==0) return fract* frac ; t else return fract*fract*x; } c) So sánh ưu nhược ậ u t toán tìm kiếm nhị phân, cây nhị p Tiêu chí
Tìm kiếm nh phân
Cây nh phân tìm kiếm Bảng băm
Bộ nhớ dùng lưu trữ các phần ử t Thời gian tìm kiếm Thêm phần ử t Xoá phần ử t
In ra danh sách các phần tử hiện có 1 | P a g e CuuDuongThanCong.com
https://fb.com/tailieudientucntt Bài 2.
a) Biểu thức dạng hậu tố là gì? Ưu điểm của b ể i u thức dạng ậ h u ố t ?
b) Định giá biểu thức dạng hậu tố sau (trình bày rõ các trạng thái trung gian của STACK 10 2 3 + / 2 ^ 4 12 8 − % +
c) Vẽ cây biểu thức biểu diễn cho biểu t ứ
h c ở phần b (không cần phải trình bày các bước trung gian) Bài 3.
a) Cho cây nhị phân tìm kiếm ban đầu như hình
thêm lần lượt dãy khóa 33, 43, 12, 36, 78, 29, 16, 9, 65, 27, 32. Hãy vẽ cây nhị ph
kết quả thu được cuối cùng (không cần trình bày các bước trung gian). b) Với cây n ị
h phân tìm kiếm thu được ở phần a, thực hiện xóa lần lượt khóa 18
và 33. Hãy vẽ cây kết quả thu được sau mỗi lần xóa
Chú ý: chọn nút thay thế là nút phải nhất trên cây con trái
Bài 4. Cho một đơn đồ t
h vô hướng 𝐺(𝑉, 𝐸) như sau
𝑉 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻} 𝐸 = {(𝐴 𝐴 𝐴
, 𝐵), ( , 𝐶), ( , 𝐸), (𝐵 𝐵 , 𝐸), (𝐵, 𝐺), (𝐶 𝐶 , 𝐷), ( , ), (𝐷, 𝐸 𝐸 ), (𝐹 𝐹
, 𝐷), ( , ), (𝐹, 𝐺), (𝐻, 𝐵), (𝐻, 𝐺)} a) Hãy biểu diễn đồ th
b) Thực hiện BFS từ đ nh B
c) Hãy đưa ra các loại cạnh thu được khi BFS tại ỉ
đ nh B (BackEdge, CrossEdge, TreeEdge và ForwardEdge).
Lưu ý: Các đỉnh trên đồ thị được thăm theo thứ tự ABC
Bài 5. Để biểu diễn các tập ợ
h p số nguyên ta dùng danh sách liên kết đơn với cấu trúc một phần tử được khai báo như sau: typedef struct Node { int data; struct node *pNext ; } NODE; a) Hãy xây dựng hàm ng ợ h p biết các phần ử t của ậ
t p hợp được sắp xếp theo thứ tự tăng dần về giá trị. int FindMax (NODE *pHead) { }
b) Hãy đánh giá thời gian thực hiện trong trường ợ h p tồi n ấ
h t của hàm bạn viết theo O-lớn 2 | P a g e CuuDuongThanCong.com
https://fb.com/tailieudientucntt