Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Kỹ thuật lập trình Đề thi tham khảo môn cấu trúc dữ liệu và giải thuật 22...

Tài liệu Đề thi tham khảo môn cấu trúc dữ liệu và giải thuật 22

.PDF
4
191
57

Mô tả:

ĐẠI HỌC THÁI NGUYÊN ĐỀ THI HẾT HỌC PHẦN KHOA CÔNG NGHỆ THÔNG TIN Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy ……………… Thời gian chuẩn bị: 45 phút, không kể thời gian giao đề Mã đề thi: 22 Câu 1 (2 điểm) Định nghĩa từ điển, Tư tưởng của bảng băm sử dụng trong việc cài đặt từ điển. Viết dạng cài đặt từ điển bởi bảng băm mở. Với dạng cài đặt này anh(chị) hãy cài đặt phép toán tìm xem trong từ điển T có chứa từ x hay không? (x là một từ được nhập từ bàn phím) Câu 2( 4 điểm) Cho một danh sách liên kết đơn (DSLK) có nút đầu danh sách được trỏ bởi con trỏ L, các phần tử trong danh sách có kiểu dữ liệu Item nào đó. Viết các hàm trên DSLK đơn này: a. insert_first (thêm một phần tử vào đầu danh sách), b. insert_last (thêm một phần tử vào cuối danh sách), c. remove_first(loại bỏ phần tử đầu tiên trong danh sách), d. remove_last(loại bỏ phần tử cuối cùng trong danh sách) 2) Dùng các hàm ở ý 1) để tạo ra một hàng đợi và một ngăn xếp chứa n phần tử; (n là số nguyên dương nhập từ bàn phím) 1) 3) Lấy các phần tử trong ngăn xếp và hàng đợi ra hiển thị lên màn hình. Câu 3 ( 2 điểm) Dựng đồ thị có hướng G có giá trị ma trận lân cận kề như sau: 1 2 3 4 5 6 1 2 3 4 5 6 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 Nêu kết quả phép duyệt đồ thị G theo chiều sâu, và chiều rộng xuất phát từ V1. ……………………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ộ Mã đề 22 Câu 1 Tương tự câu 1 đề 15 Câu 2 Các hàm: 1) procedure insert_first(x:item, var L: list); {thêm phần tử x vào đầu danh sách L} (0.5 đ) Var m:list; Begin new(M); m^.infor:= x; M^.next:=L; l:=M; End; 2)procedure insert_last(x: Item, var L: list); (thêm một phần tử x vào cuối danh sách L) (0.5 đ) var M, p:list; Begin p:=L; while (p^.next <>nil) do p:=p^.next; new(M); M^.infor:= x; p^.next := M; m^.next:=nil; End; 3) Procedure remove_first(var m: list; var L:list )(loại bỏ phần tử đầu tiên trong danh sách L, M trỏ tới phần tử sau khi bị loại bỏ khỏi danh sách); (0.5 đ) Begin if (L<>nil) then M:=L; L:=L^.next; End; 4) Procedure remove_last(var M:list; var L:list)(loại bỏ phần tử cuối cùng trong danh sách L; M trỏ tới nút sau khi loại bỏ khỏi danh sách) (0.5 đ) var p,q:list; Begin if L<>nil Then Begin p:=L; q:=p^.next; while (q^.next<>nil) do begin p:q; q:=q^.next; end; M:=q; p^.next:=nil; End; End; 2) tạo một hàng đợi và một ngăn xếp chứa n phần tử (1 đ) a)Tạo ngăn xếp procedure taoNgănxep(var Top:list); var n, i, x:integer; Begin writeln(‘Nhap n=’); readln(n); for i:= 1 to n do write(‘Nhạp gia trị =’); readln(x); insert_first(x, Top); End; b) Tạo hàng đợi procedure taohangdoi(var L,F:list); var n, i, x:integer; Begin L:=nil; F:=nil; writeln(‘Nhap n=’); readln(n); for i:= 1 to n do write(‘Nhạp gia trị =’); readln(x); insert_last(x, F); End; Lấy các phần tử trong hàng đợi và trong ngăn xếp hiển thị lên màn hình(1 đ) procedure hienthi_nganxep(top:list); var m:list; begin while top<>nil do begin remove_firsts(M, Top); write(M^.infor); end; Tương tự với hàng đợi Câu 3 1. Dựng đồ thị (1đ) 2 3 1 4 6 5 2) Kết quả duyệt (1đ) Kết quả duiyệt theo chiều rộng: 1 2 4 5 6 3 Kết quả duyệt theo chiều sâu: 12 3 4 5 6
- Xem thêm -

Tài liệu liên quan