ݺߣ

ݺߣShare a Scribd company logo
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 1
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình trên C với các yêu cầu sau:
Câu a. Định nghĩa danh sách liên kết đơn dùng để quản lý danh sách các
học sinh, với cấu trúc mỗi học sinh gồm có hai phần dữ liệu chính:
- Họ tên học sinh, là một chuỗi không quá 80 ký tự.
- Ngày tháng năm sinh của học sinh, theo cấu trúc dữ liệu thể hiện ngày
DATE gồm có 3 trường ngày, tháng, và năm được định nghĩa riêng.
Câu b. Viết hàm nhập vào một danh sách các học sinh từ bàn phím, với quá
trình nhập kết thúc khi người dùng không nhập tên học sinh mới nữa. Danh
sách học sinh này được lưu vào danh sách liên kết đã định nghĩa. Chú ý
thêm: Chương trình không kiểm tra tính chính xác của ngày tháng năm
sinh, và mặc định là dữ liệu nhập đúng.
Câu c.Viết hàm sắp xếp danh sách học sinh theo thứ tự alphabet họ tên, và viết
các hàm hỗ trợ thao tác khởi tạo danh sách rỗng, in danh sách học sinh
hiện hành, cũng như hàm hủy toàn bộ học sinh.
Câu d. Sử dụng các hàm đã viết viết hàm main thực hiện việc nhập vào một danh
sách học sinh từ bàn phím, in danh sách đó ra, sắp xếp các học sinh theo họ
tên, và in lại danh sách đã sắp xếp ra màn hình. Cuối cùng huỷ danh sách
học sinh và kết thúc chương trình.
-------------HẾT-------------
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 2
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình thực hiện các việc sau:
1. Tạo cây nhị phân tìm kiếm
2. Duyệt cây nhị phân tìm kiếm theo thứ tự giảm dần
Ví dụ: Nhập cây nhị phân tìm kiếm như sau:
Kết quả xuất ra màn hình là: 18 15 14 12 10 8 6 2
3. Đếm số nút lá trên cây nhị phân tìm kiếm
4. Xóa tất cả các node có giá trị là số nguyên tố trên cây
-------------HẾT-------------
2 8
1
0
6 1
5
1
2
1
4
1
8
1
7
2
3
1
9
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 3
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Cài đặt các hàm sau:
1. Tạo danh sách liên kết đơn với trường data là số nguyên dương
2. Xuất danh sách liên kết đơn ra màn hình
3. Tạo danh sách lC tăng dần từ danh sách lA và lB.
Ví dụ:
Nhập danh sách:
lA:
lB:
Kết quả danh sách lC là:
-------------HẾT-------------
1 9 3
12 2 6 8
1 2 3 6 8 9 12
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 4
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Cài đặt các hàm sau:
1. Tạo danh sách liên kết đơn với trường data là số nguyên dương.
2. Sử dụng danh sách liên kết nhập vào 2 số lớn A, B (qua trình nhập kết thúc
khi nhận vào giá trị -1)
3. Hoán đổi 2 danh sách liên kết A, B sao cho A chứa toàn chữ số chẵn và B
chứa toàn chữ số lẻ
Ví dụ:
Nhập danh sách:
A:
B:
Kết quả danh sách là:
A:
B:
-------------HẾT-------------
1 12 3
9 5 6 8
9 5 1 3
6 12 8
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 5
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Cài đặt các hàm sau:
1. Tạo danh sách liên kết đơn với trường data là kiểu kí tự để biểu diễn số
hex (biểu diễn số dạng thập lục phân)
2. Sử dụng danh sách liên kết nhập vào 2 số hex A, B (qua trình nhập kết
thúc khi nhận vào kí tự không thuộc miền biểu diễn của số hex [0, 1, .. ,
9, A, B, C, D, E, F]). Cho biết A, B cùng số phần tử
3. So sánh 2 số A, B và cho biết số nào lớn hơn
Ví dụ:
Nhập danh sách:
A:
B:
Kết quả là: B > A
-------------HẾT-------------
1 C F
E A 7
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 6
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình thực hiện các việc sau:
1. Tạo và xuất cây nhị phân tìm kiếm
2. Xóa tất cả các nút là số nguyên tố trên cây nhị phân tìm kiếm
3. Tìm tất cả các nút trên cây có số nút con bên trái bằng số nút con bên phải
(không kể các nút không có nút con)
Ví dụ:
3. Nút thỏa điều kiện : 6, 15
-------------HẾT-------------
1
0
6
2
1
5
1
2
1
4
2
9
7
3
4
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 7
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Cài đặt các hàm sau:
1. Tạo danh sách liên kết đơn bằng cách thêm vào sau phần tử đầu danh sách,
với trường dữ liệu là số nguyên dương (nhập tới <= 0 thì dừng).
2. Sắp tăng các giá trị của danh sách liên kết. Sau đó, xóa các phần tử trùng
nhau trong danh sách đã sắp tăng.
3. Kiểm tra danh sách liên kết có lập thành một cấp số cộng hay không? Xuất
thông báo.
Ví dụ:
1. Nếu danh sách rỗng thì danh sách sau khi nhập số 1:
Nhập tiếp vào danh sách các số 10, 4, 7 thì danh sách sẽ là:
Danh sách sau khi sắp tăng và xóa trùng:
Xuất thông báo: Danh sách lập thành một cấp số cộng.
-------------HẾT-------------
1 7 4 10
1
1 4 7 10
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 8
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình thực hiện các việc sau:
1. Tạo và xuất cây nhị phân tìm kiếm với trường dữ liệu là số nguyên dương.
2. Tìm và xóa tất cả các nút là số chính phương trên cây nhị phân tìm kiếm.
3. Tìm tất cả các nút trên cây có tổng giá trị của các nút con bên trái bằng tổng
giá trị của các nút con bên phải
Ví dụ:
2. Nút là số chính phương : 9
3. Nút thỏa điều kiện : 15
-------------HẾT-------------
1
0
6
2
1
5
1
2
1
4
2
6
9
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 9
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Cài đặt các hàm sau:
1. Tạo danh sách liên kết đơn bằng cách thêm vào đầu danh sách với trường
dữ liệu là số nguyên dương (nhập tới <= 0 thì dừng).
2. Xóa các phần tử trùng nhau trong danh sách liên kết đơn.
3. Thêm các phần tử nguyên dương mới vào đầu danh sách sao cho không bị
trùng với các phần tử đã có trong danh sách liên kết đơn.
Ví dụ:
Nhập danh sách:
Danh sách sau khi xóa phần tử trùng:
-------------HẾT-------------
1 12 3 12
1 12 3
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 10
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Giả sử ta đã có danh sách liên kết đơn chứa các số nguyên với cấu trúc dữ liệu
như sau:
+ Định nghĩa một nút:
typedef struct tagNode
{
int Info;
struct tagNode *Next;
}Node;
+ Định nghĩa một danh sách liên kết đơn:
typedef struct tagList
{
Node *Head;
Node *Tail;
}List;
a. Viết hàm nhập vào hai danh sách liên kết đơn chứa các số nguyên tăng dần.
b. Viết hàm ghép hai danh sách liên kết trên thành một danh sách liên kết sao
cho kết quả đạt được là một danh sách liên kết chứa các số nguyên tăng dần.
-------------HẾT-------------
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 11
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Giả sử ta đã có danh sách liên kết đơn với cấu trúc dữ liệu như sau:
+ Định nghĩa một nút:
typedef struct tagNode
{
char key; // Chứa ký tự
int dem; // Chứa số lần xuất hiện của key
struct tagNode *Next;
}Node;
+ Định nghĩa một danh sách liên kết đơn:
typedef struct tagList
{
Node *Head;
Node *Tail;
}List;
a. Viết hàm phát sinh ngẫu nhiên 10000 ký tự trong khoảng từ AZ
b. Viết hàm tạo danh sách liên kết đơn từ 10000 ký tự được phát sinh ở trên với
điều kiện:
i. Danh sách liên kết không được chứa ký tự trùng nhau.
ii. Thuộc tính dem của một node cho biết số lần xuất hiện của ký tự đó.
-------------HẾT-------------
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 12
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Giả sử ta đã có danh sách liên kết đơn chứa các số nguyên với cấu trúc dữ liệu
như sau:
+ Định nghĩa một nút:
typedef struct tagNode
{
int Info;
struct tagNode *Next;
}Node;
+ Định nghĩa một danh sách liên kết đơn:
typedef struct tagList
{
Node *Head;
Node *Tail;
}List;
a. Viết hàm nhập vào một danh sách liên kết đơn P chứa các số nguyên.
b. Viết hàm đảo ngược danh sách liên kết P thành danh sách liên kết Q
c. Viết hàm kiểm tra P và Q có giống nhau các phần tử không? Nếu giống nhau, in
ra màn hình “Danh sách đối xứng”. Ngược lại in ra màn hình “Danh sách không
đối xứng”
-------------HẾT-------------
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 13
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình bằng ngôn ngữ lập trình C thực hiện các yêu cầu sau:
a. Thành lập cây nhị phân tìm kiếm có N nút (N nhập từ bàn phím 10< N < 20)
với khóa của mỗi nút được phát sinh ngẫu nhiên (trường khóa của mỗi nút trên
cây là một số nguyên)
b. Liệt kê khóa cùng mức của tất cả các nút của cây ở câu a theo thứ tự LRN (trái,
phải, gốc)
c. Cho biết chiều cao của cây trên.
-------------HẾT-------------
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH

ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 14
Cử nhân chính quy - Khoá 1. Thời gian: 60 phút.
Sinh viên không được phép sử dụng tài liệu.
Viết chương trình bằng ngôn ngữ lập trình C thực hiện các yêu cầu sau:
a. Thành lập cây nhị phân tìm kiếm có N nút (N nhập từ bàn phím) với khóa của
mỗi nút được phát sinh ngẫu nhiên (trường khóa của mỗi nút trên cây là một số
nguyên)
b. Liệt kê khóa cùng mức của tất cả các nút của cây ở câu a theo thứ tự RLN
(phải, trái, gốc)
c. Cho biết khóa của nút có khóa nhỏ nhất trong cây.
-------------HẾT-------------

More Related Content

14 đề thi thực hành

  • 1. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 1 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình trên C với các yêu cầu sau: Câu a. Định nghĩa danh sách liên kết đơn dùng để quản lý danh sách các học sinh, với cấu trúc mỗi học sinh gồm có hai phần dữ liệu chính: - Họ tên học sinh, là một chuỗi không quá 80 ký tự. - Ngày tháng năm sinh của học sinh, theo cấu trúc dữ liệu thể hiện ngày DATE gồm có 3 trường ngày, tháng, và năm được định nghĩa riêng. Câu b. Viết hàm nhập vào một danh sách các học sinh từ bàn phím, với quá trình nhập kết thúc khi người dùng không nhập tên học sinh mới nữa. Danh sách học sinh này được lưu vào danh sách liên kết đã định nghĩa. Chú ý thêm: Chương trình không kiểm tra tính chính xác của ngày tháng năm sinh, và mặc định là dữ liệu nhập đúng. Câu c.Viết hàm sắp xếp danh sách học sinh theo thứ tự alphabet họ tên, và viết các hàm hỗ trợ thao tác khởi tạo danh sách rỗng, in danh sách học sinh hiện hành, cũng như hàm hủy toàn bộ học sinh. Câu d. Sử dụng các hàm đã viết viết hàm main thực hiện việc nhập vào một danh sách học sinh từ bàn phím, in danh sách đó ra, sắp xếp các học sinh theo họ tên, và in lại danh sách đã sắp xếp ra màn hình. Cuối cùng huỷ danh sách học sinh và kết thúc chương trình. -------------HẾT-------------
  • 2. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 2 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình thực hiện các việc sau: 1. Tạo cây nhị phân tìm kiếm 2. Duyệt cây nhị phân tìm kiếm theo thứ tự giảm dần Ví dụ: Nhập cây nhị phân tìm kiếm như sau: Kết quả xuất ra màn hình là: 18 15 14 12 10 8 6 2 3. Đếm số nút lá trên cây nhị phân tìm kiếm 4. Xóa tất cả các node có giá trị là số nguyên tố trên cây -------------HẾT------------- 2 8 1 0 6 1 5 1 2 1 4 1 8 1 7 2 3 1 9
  • 3. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 3 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Cài đặt các hàm sau: 1. Tạo danh sách liên kết đơn với trường data là số nguyên dương 2. Xuất danh sách liên kết đơn ra màn hình 3. Tạo danh sách lC tăng dần từ danh sách lA và lB. Ví dụ: Nhập danh sách: lA: lB: Kết quả danh sách lC là: -------------HẾT------------- 1 9 3 12 2 6 8 1 2 3 6 8 9 12
  • 4. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 4 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Cài đặt các hàm sau: 1. Tạo danh sách liên kết đơn với trường data là số nguyên dương. 2. Sử dụng danh sách liên kết nhập vào 2 số lớn A, B (qua trình nhập kết thúc khi nhận vào giá trị -1) 3. Hoán đổi 2 danh sách liên kết A, B sao cho A chứa toàn chữ số chẵn và B chứa toàn chữ số lẻ Ví dụ: Nhập danh sách: A: B: Kết quả danh sách là: A: B: -------------HẾT------------- 1 12 3 9 5 6 8 9 5 1 3 6 12 8
  • 5. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 5 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Cài đặt các hàm sau: 1. Tạo danh sách liên kết đơn với trường data là kiểu kí tự để biểu diễn số hex (biểu diễn số dạng thập lục phân) 2. Sử dụng danh sách liên kết nhập vào 2 số hex A, B (qua trình nhập kết thúc khi nhận vào kí tự không thuộc miền biểu diễn của số hex [0, 1, .. , 9, A, B, C, D, E, F]). Cho biết A, B cùng số phần tử 3. So sánh 2 số A, B và cho biết số nào lớn hơn Ví dụ: Nhập danh sách: A: B: Kết quả là: B > A -------------HẾT------------- 1 C F E A 7
  • 6. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 6 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình thực hiện các việc sau: 1. Tạo và xuất cây nhị phân tìm kiếm 2. Xóa tất cả các nút là số nguyên tố trên cây nhị phân tìm kiếm 3. Tìm tất cả các nút trên cây có số nút con bên trái bằng số nút con bên phải (không kể các nút không có nút con) Ví dụ: 3. Nút thỏa điều kiện : 6, 15 -------------HẾT------------- 1 0 6 2 1 5 1 2 1 4 2 9 7 3 4
  • 7. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 7 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Cài đặt các hàm sau: 1. Tạo danh sách liên kết đơn bằng cách thêm vào sau phần tử đầu danh sách, với trường dữ liệu là số nguyên dương (nhập tới <= 0 thì dừng). 2. Sắp tăng các giá trị của danh sách liên kết. Sau đó, xóa các phần tử trùng nhau trong danh sách đã sắp tăng. 3. Kiểm tra danh sách liên kết có lập thành một cấp số cộng hay không? Xuất thông báo. Ví dụ: 1. Nếu danh sách rỗng thì danh sách sau khi nhập số 1: Nhập tiếp vào danh sách các số 10, 4, 7 thì danh sách sẽ là: Danh sách sau khi sắp tăng và xóa trùng: Xuất thông báo: Danh sách lập thành một cấp số cộng. -------------HẾT------------- 1 7 4 10 1 1 4 7 10
  • 8. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 8 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình thực hiện các việc sau: 1. Tạo và xuất cây nhị phân tìm kiếm với trường dữ liệu là số nguyên dương. 2. Tìm và xóa tất cả các nút là số chính phương trên cây nhị phân tìm kiếm. 3. Tìm tất cả các nút trên cây có tổng giá trị của các nút con bên trái bằng tổng giá trị của các nút con bên phải Ví dụ: 2. Nút là số chính phương : 9 3. Nút thỏa điều kiện : 15 -------------HẾT------------- 1 0 6 2 1 5 1 2 1 4 2 6 9
  • 9. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 9 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Cài đặt các hàm sau: 1. Tạo danh sách liên kết đơn bằng cách thêm vào đầu danh sách với trường dữ liệu là số nguyên dương (nhập tới <= 0 thì dừng). 2. Xóa các phần tử trùng nhau trong danh sách liên kết đơn. 3. Thêm các phần tử nguyên dương mới vào đầu danh sách sao cho không bị trùng với các phần tử đã có trong danh sách liên kết đơn. Ví dụ: Nhập danh sách: Danh sách sau khi xóa phần tử trùng: -------------HẾT------------- 1 12 3 12 1 12 3
  • 10. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 10 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Giả sử ta đã có danh sách liên kết đơn chứa các số nguyên với cấu trúc dữ liệu như sau: + Định nghĩa một nút: typedef struct tagNode { int Info; struct tagNode *Next; }Node; + Định nghĩa một danh sách liên kết đơn: typedef struct tagList { Node *Head; Node *Tail; }List; a. Viết hàm nhập vào hai danh sách liên kết đơn chứa các số nguyên tăng dần. b. Viết hàm ghép hai danh sách liên kết trên thành một danh sách liên kết sao cho kết quả đạt được là một danh sách liên kết chứa các số nguyên tăng dần. -------------HẾT-------------
  • 11. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 11 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Giả sử ta đã có danh sách liên kết đơn với cấu trúc dữ liệu như sau: + Định nghĩa một nút: typedef struct tagNode { char key; // Chứa ký tự int dem; // Chứa số lần xuất hiện của key struct tagNode *Next; }Node; + Định nghĩa một danh sách liên kết đơn: typedef struct tagList { Node *Head; Node *Tail; }List; a. Viết hàm phát sinh ngẫu nhiên 10000 ký tự trong khoảng từ AZ b. Viết hàm tạo danh sách liên kết đơn từ 10000 ký tự được phát sinh ở trên với điều kiện: i. Danh sách liên kết không được chứa ký tự trùng nhau. ii. Thuộc tính dem của một node cho biết số lần xuất hiện của ký tự đó. -------------HẾT-------------
  • 12. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 12 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Giả sử ta đã có danh sách liên kết đơn chứa các số nguyên với cấu trúc dữ liệu như sau: + Định nghĩa một nút: typedef struct tagNode { int Info; struct tagNode *Next; }Node; + Định nghĩa một danh sách liên kết đơn: typedef struct tagList { Node *Head; Node *Tail; }List; a. Viết hàm nhập vào một danh sách liên kết đơn P chứa các số nguyên. b. Viết hàm đảo ngược danh sách liên kết P thành danh sách liên kết Q c. Viết hàm kiểm tra P và Q có giống nhau các phần tử không? Nếu giống nhau, in ra màn hình “Danh sách đối xứng”. Ngược lại in ra màn hình “Danh sách không đối xứng” -------------HẾT-------------
  • 13. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 13 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình bằng ngôn ngữ lập trình C thực hiện các yêu cầu sau: a. Thành lập cây nhị phân tìm kiếm có N nút (N nhập từ bàn phím 10< N < 20) với khóa của mỗi nút được phát sinh ngẫu nhiên (trường khóa của mỗi nút trên cây là một số nguyên) b. Liệt kê khóa cùng mức của tất cả các nút của cây ở câu a theo thứ tự LRN (trái, phải, gốc) c. Cho biết chiều cao của cây trên. -------------HẾT-------------
  • 14. TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU 1 – Đề số 14 Cử nhân chính quy - Khoá 1. Thời gian: 60 phút. Sinh viên không được phép sử dụng tài liệu. Viết chương trình bằng ngôn ngữ lập trình C thực hiện các yêu cầu sau: a. Thành lập cây nhị phân tìm kiếm có N nút (N nhập từ bàn phím) với khóa của mỗi nút được phát sinh ngẫu nhiên (trường khóa của mỗi nút trên cây là một số nguyên) b. Liệt kê khóa cùng mức của tất cả các nút của cây ở câu a theo thứ tự RLN (phải, trái, gốc) c. Cho biết khóa của nút có khóa nhỏ nhất trong cây. -------------HẾT-------------