Dựng cây NPTK từ cây trên: (1đ)

Một phần của tài liệu Bài những đề thi và lời giải chi tiết cấu trúc dữ liệu (Trang 35 - 40)

ĐẠI HỌC THÁI NGUYÊN

KHOA CÔNG NGHỆ THÔNG TIN

15 10 21 12 0 31 9 45 ĐỀ THI HẾT HỌC PHẦN Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy

………

Câu 1( 2điểm)

Nêu khái niệm danh sách, các cách cài đặt danh sách bởi mảng, bởi danh sách liên kết đơn, ưu nhược điểm của từng dạng cài đặt?

Câu 2( 4 điểm )

Học sinh khối 12 dự thi hết học kz các môn: toán, l{, hóa, ngoại ngữ. Mỗi thí sinh cần quản l{ các thông tin Số báo danh, họ tên, lớp

3. Hãy sử dụng cấu trúc dữ liệu danh sách liên kết đơn để lưu trữ các thông tin của các thí sinh dự thi. Viết dạng cài đặt tương ứng của cấu trúc trên

4. Xây dựng các chương trình con thực hiện các nhiệm vụ sau:

- Nhập thông tin về các thí sinh dự thi (điều kiện dừng là nhập SBD = rỗng)

- Hiển thị các thí sinh dự thi theo lớp

- Loại bỏ các thí sinh có điểm trung bình < 5 ra khỏi danh sách (điểm trung bình = (toan+ly+hoa+ngoaingu)/4)

- Tìm kiếm thí sinh theo số báo danh nhập vào

Câu 3 (2 điểm)

Người ta nói rằng ngăn xếp (stack) họat động theo nguyên tắc LIFO (Last In First Out) và hàng đợi (queue) hoạt động theo nguyên tắc FIFO (First In First Out). Anh (chị ) hiểu điều đó như thế nào? Cho ví dụ minh họa?

………Hết……….

Thí sinh không được sử dụng tài liệu, không ghi vào đề thi

CB coi thi không giải thích gì thêm và nộp lại đề thi cho phòng chức năng theo quy chế của bộ

Câu 1: Tương tự câu 3 đề 04

Câu 2

Tương tự câu 2 đề 07

Câu 3:

+ LIOF (last in first out): Phần tử vào sau cùng thì lấy ra xử l{ trước tiên và ngược lại (0.5 đ)

+ FIFO (first in first out): Phần tử vào trước lấy ra xử l{ trước và ngược lại (0.5 đ)

+ Ví du: (1 đ)

Ngăn xếp: Chồng đĩa đặt xuyên qua một cọc Hàng đợi: Xếp hàng mua thực phẩm, ...

ĐẠI HỌC THÁI NGUYÊN

KHOA CÔNG NGHỆ THÔNG TIN ………

Câu 1( 2 điểm)

Nêu khái niệm ngăn xếp và hàng đợi? Ngăn xếp và hàng đợi giống và khác nhau như thế nào? Viết dạng cài đặt của ngăn xếp và hàng đợi bằng mảng. Hàng đợi tròn cài đặt bởi mảng khắc phục hạn chế gì của hàng đợi không tròn cài đặt bởi mảng? (adsbygoogle = window.adsbygoogle || []).push({});

Câu 2( 4 điểm )

Mã đề thi: 11

ĐỀ THI HẾT HỌC PHẦN Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy

Một tập S gồm 7 công việc (được đánh số từ 1 đến 7) với quan hệ “làm trước:> ” thỏa mãn các điều kiện sau:

7<5 3<6 2<1 4<2

5<3 5<6 2<6

a) Hãy vẽ đồ thị biểu diễn S

b) Biểu diễn đồ thị bằng danh sách lân cận kề: Dạng cài đặt và hình ảnh đồ thị sau khi biểu diễn.

c) Viết giải thuật duyệt đồ thị theo chiều rộng, chiều sâu xuất phát từ một đỉnh bất kz trên đồ thị (đỉnh này được biết trước khi duyệt)?

Câu 3 (2 điểm)

Anh (chị) hãy nêu khái niệm cây nhị phân tìm kiếm(binary search tree)? Tại sao người ta lại nói cây nhị phân tìm kiếm thuận lợi cho phép toán tìm kiếm, và các phép toán khác cần đến việc tìm kiệm như: Thêm một đỉnh vào cây, loại một đỉnh ra khỏi cây, sửa đổi thông tin trên cây….? Anh(chị) hãy phân tích để thể hiện rõ điều đó.

………Hết……….

Thí sinh không được sử dụng tài liệu, không ghi vào đề thi

CB coi thi không giải thích gì thêm và nộp lại đề thi cho phòng chức năng theo quy chế của bộ

Câu 1

* Khái niệm ngăn xếp, hàng đợi: (0,5 đ)

- Ngăn xếp là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử ra khỏi ngăn xếp đều được thực hiện ở một đầu, đầu đó gọi là đỉnh của ngăn xếp

- Hàng đợi là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào hàng đợi được thực hiện ở một đầu còn phép loại bỏ một phần tử ra khỏi hàng đợi được thực hiện ở đầu kia

+ Giống nhau:

- Cũng là danh sách

- Có hai phép toán cơ bản là bổ xung và loại bỏ (đều đóng vai trò là bộ nhớ đệm) + Khác nhau:

- Việc thêm vào, lấy ra một phần tử từ ngăn xếp đều được thực hiện ở một đầu, do đó ngăn xếp hoạt động theo nguyên tắc LIFO, thích hợp với các ứng dụng có trình tự truy xuất ngược với trình tự lưu trữ

- Việc thêm vào, lấy ra một phần tử từ hàng đợi được thực hiện ở hai đầu khác nhau, do đó hàng đợi hoạt động theo nguyên tắc FIFO, thích hợp với các ứng dụng có trình tự truy xuất và trình tự lưu trữ như nhau

* Dạng cài đặt ngăn xếp và hàng đợi bằng mảng:(0,5 đ)

+ Ngăn xếp:

Const n = 100;

Type Stack = Record

Ele: Array [1.. n ] of Item; Top: 0..n;

End;

+ Hàng đợi: (adsbygoogle = window.adsbygoogle || []).push({});

Const n = 100;

Type Queue = Record

Ele: Array [1.. n ] of Item; Front, Real: 0..n;

End;

Trong đó:

- Item: Là kiểu dữ liệu chứa trong hàng đợi hoặc ngăn xếp

- Ele: Mảng chứa các phần tử có trong hàng đợi hoặc ngăn xếp

* Hàng đợi không tròn có hiện tượng khi thêm một phần tử và vào hàng đợi mà Real = n thì không thêm được nữa, mặc dù lối trước có thể vẫn còn các ô nhớ trống. Hàng đợi tròn tận dụng tối đa được không gian trống trong hàng khi thêm một phần tử và hàng, khắc phục hạn chế của hàng đợi không tròn (0,5 đ)

Câu 2

a) Vẽ đồ thị biểu diễn S (1 đ)

Một phần của tài liệu Bài những đề thi và lời giải chi tiết cấu trúc dữ liệu (Trang 35 - 40)