Đề thi Cấu trúc dữ liệu và giải thuật (Mã đề 03) - Đại học Bách khoa Hà Nội
Số trang: 2
Loại file: pdf
Dung lượng: 999.71 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Đề thi Cấu trúc dữ liệu và giải thuật giúp các bạn sinh viên có thêm tài liệu để củng cố các kiến thức, ôn tập kiểm tra, thi cuối kỳ. Đây là tài liệu bổ ích để các em ôn luyện và kiểm tra kiến thức tốt, chuẩn bị cho kì thi học kì. Mời các em và các quý thầy cô giáo bộ môn tham khảo.
Nội dung trích xuất từ tài liệu:
Đề thi Cấu trúc dữ liệu và giải thuật (Mã đề 03) - Đại học Bách khoa Hà Nội Mã đề CD 2012 - 03 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BỘ MÔN KHOA HỌC MÁY TÍNH *** ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU Hà nội, .…. /….. / …...Họ tên: …………………………… VÀ GIẢI THUẬT Trưởng bộ môn Ngày thi: …../…../….Lớp: ………………………………… Thời gian 90’SHSV: ………………………………. (Sinh viên được sử dụng tài liệu) Bài 1. Cho hàm khai báo như sau (tham số ?, ? là các số nguyên không âm) long mistery(int a, int b) { if(a==0) return 0; if(a%2==0) return 2*mistery(a/2,b); return b+2*mistery((a-1)/2,b); } a. Hàm sau thực hiện công việc gì? Tính giá trị của hàm với a=5 và b=7 b. Đánh giá độ phức tạp của hàm mistery theo O-lớn + Bài 2. Cho cây biểu thức sau a. Duyệt cây biểu thức để đưa ra biểu thức dạng tiền tố, hậu tố b. Với a=36 và b=5, hãy minh họa thuật toán định giá biểu thức hậu tố trên biểu thức hậu tố thu được từ phần a Chú ý: √ là ký hiệu của toán tử căn bậc hai b 3 / Bài 3. Cây nhị phân tìm kiếm a) Thêm lần lượt các nút 25, 32, 14, 21, 19, 17, 23, 5, 9 vào cây nhị a 4 phân tìm kiếm ban đầu rỗng, vẽ cây kết quả thu được Figure 1 Cây biểu thức b) Với cây kết quả trong phần b ta xóa nút 1, hãy vẽ cây kết quả thu được. Thay bằng nút trái nhất trên con phải c) Cho cấu trúc một nút trên cây được khai báo như sau struct BinaryNode { double data; struct BinaryNode *Left, *Right; } Hãy hoàn thiện hàm tìm và trả về số lượng nút có giá trị nhỏ hơn hoặc bằng x trên cây int *CountNodes(struct BinaryNode *root, double x) CuuDuongThanCong.com https://fb.com/tailieudientucnttBài 4. a) Để biểu diễn đa thức bậc n ?? (?) = ?? ? ? + ??−1 ? ?−1 +. . +?1 ? + ??+1 Và thực hiện các thao tác cộng, trừ, nhân và chia với đa thức này thì ta nên sử dụng mảng hay danh sách liên kết? Hãy giải thích tại sao. b) Giả sử chúng ta có một danh sách gồm 100 phần tử kiểu double được lưu trữ trong mảng, và cần phải thực hiện sắp xếp. Khi đó ta nên chọn thuật toán sắp xếp nào trong các thuật toán đã học để thu được hiệu quả tốt nhất? Giải thích lý do? Nếu số lượng phần tử là 1 000 000 và được lưu trữ dùng danh sách liên kết đơn thì nên dùng thuật toán nào? Giải thích lý do? c) Giả sử chúng ta cần quản lý một danh sách khách hàng có tối đa 1000 người (không biết trước số lượng) và cần thực hiện tìm kiếm theo họ tên. Hãy mô tả phương pháp của bạn để: Thực hiện việc tìm kiếm khách hàng một cách nhanh nhất Thực hiện lưu trữ và tìm kiếm tiết kiệm bộ nhớ nhất có thể Hãy giải thích? d) Giả sử chúng ta có một danh sách các số nguyên gồm 1 000 000 số. Hãy đưa ra một thuật toán hiệu quả để thống kê các số trùng nhau trong danh sách. Đánh giá thời gian thực hiện của thuật toán của bạn theo O lớn. A DBài 5. Cho đồ thị vô hướng như hình bên a) Minh họa cách lưu trữ đồ thị trên sử dụng ma B H trận kề và danh sách kề b) Thực hiện DFS tại đỉnh B, hãy đưa ra thứ tự E thăm các đỉnh G Đưa ra các loại cạnh trên cây khung DFS tại B. C ...
Nội dung trích xuất từ tài liệu:
Đề thi Cấu trúc dữ liệu và giải thuật (Mã đề 03) - Đại học Bách khoa Hà Nội Mã đề CD 2012 - 03 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BỘ MÔN KHOA HỌC MÁY TÍNH *** ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU Hà nội, .…. /….. / …...Họ tên: …………………………… VÀ GIẢI THUẬT Trưởng bộ môn Ngày thi: …../…../….Lớp: ………………………………… Thời gian 90’SHSV: ………………………………. (Sinh viên được sử dụng tài liệu) Bài 1. Cho hàm khai báo như sau (tham số ?, ? là các số nguyên không âm) long mistery(int a, int b) { if(a==0) return 0; if(a%2==0) return 2*mistery(a/2,b); return b+2*mistery((a-1)/2,b); } a. Hàm sau thực hiện công việc gì? Tính giá trị của hàm với a=5 và b=7 b. Đánh giá độ phức tạp của hàm mistery theo O-lớn + Bài 2. Cho cây biểu thức sau a. Duyệt cây biểu thức để đưa ra biểu thức dạng tiền tố, hậu tố b. Với a=36 và b=5, hãy minh họa thuật toán định giá biểu thức hậu tố trên biểu thức hậu tố thu được từ phần a Chú ý: √ là ký hiệu của toán tử căn bậc hai b 3 / Bài 3. Cây nhị phân tìm kiếm a) Thêm lần lượt các nút 25, 32, 14, 21, 19, 17, 23, 5, 9 vào cây nhị a 4 phân tìm kiếm ban đầu rỗng, vẽ cây kết quả thu được Figure 1 Cây biểu thức b) Với cây kết quả trong phần b ta xóa nút 1, hãy vẽ cây kết quả thu được. Thay bằng nút trái nhất trên con phải c) Cho cấu trúc một nút trên cây được khai báo như sau struct BinaryNode { double data; struct BinaryNode *Left, *Right; } Hãy hoàn thiện hàm tìm và trả về số lượng nút có giá trị nhỏ hơn hoặc bằng x trên cây int *CountNodes(struct BinaryNode *root, double x) CuuDuongThanCong.com https://fb.com/tailieudientucnttBài 4. a) Để biểu diễn đa thức bậc n ?? (?) = ?? ? ? + ??−1 ? ?−1 +. . +?1 ? + ??+1 Và thực hiện các thao tác cộng, trừ, nhân và chia với đa thức này thì ta nên sử dụng mảng hay danh sách liên kết? Hãy giải thích tại sao. b) Giả sử chúng ta có một danh sách gồm 100 phần tử kiểu double được lưu trữ trong mảng, và cần phải thực hiện sắp xếp. Khi đó ta nên chọn thuật toán sắp xếp nào trong các thuật toán đã học để thu được hiệu quả tốt nhất? Giải thích lý do? Nếu số lượng phần tử là 1 000 000 và được lưu trữ dùng danh sách liên kết đơn thì nên dùng thuật toán nào? Giải thích lý do? c) Giả sử chúng ta cần quản lý một danh sách khách hàng có tối đa 1000 người (không biết trước số lượng) và cần thực hiện tìm kiếm theo họ tên. Hãy mô tả phương pháp của bạn để: Thực hiện việc tìm kiếm khách hàng một cách nhanh nhất Thực hiện lưu trữ và tìm kiếm tiết kiệm bộ nhớ nhất có thể Hãy giải thích? d) Giả sử chúng ta có một danh sách các số nguyên gồm 1 000 000 số. Hãy đưa ra một thuật toán hiệu quả để thống kê các số trùng nhau trong danh sách. Đánh giá thời gian thực hiện của thuật toán của bạn theo O lớn. A DBài 5. Cho đồ thị vô hướng như hình bên a) Minh họa cách lưu trữ đồ thị trên sử dụng ma B H trận kề và danh sách kề b) Thực hiện DFS tại đỉnh B, hãy đưa ra thứ tự E thăm các đỉnh G Đưa ra các loại cạnh trên cây khung DFS tại B. C ...
Tìm kiếm theo từ khóa liên quan:
Đề thi học kỳ Cấu trúc dữ liệu Cấu trúc dữ liệu và giải thuật Đề thi Cấu trúc dữ liệu và giải thuật Khoa học máy tínhTài liệu liên quan:
-
Tóm tắt Đồ án tốt nghiệp Khoa học máy tính: Xây dựng ứng dụng quản lý quán cà phê
15 trang 476 1 0 -
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 318 0 0 -
32 trang 231 0 0
-
Bài giảng chuyên đề Phân tích và thiết kế thuật toán: Chia để trị
27 trang 228 0 0 -
Đồ án nghiên cứu khoa học: Ứng dụng công nghệ cảm biến IoT vào mô hình thủy canh
30 trang 201 0 0 -
6 trang 175 0 0
-
Đáp án đề thi Anten truyền sóng
5 trang 170 0 0 -
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 trang 166 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 0 0