Đề thi cấu trúc dữ liệu

7 462 0
Đề thi cấu trúc dữ liệu

Đang tải... (xem toàn văn)

Thông tin tài liệu

Câu 1 : (3 điểm) Giả sử tồn tại cây nhị phân tìm kiếm (CNPTK) T trên bộ nhớ, có dữ liệu của mỗi phần tử là 1 điểm trên mặt phẳng như sau: CODE struct point { int x,y; }; struct BSTree { Node Root; }; struct tagNode { point data; tagNode *Left, *Right; }; typedef tagNode *Node; Anh (chị) hãy : a) Nhập vào một số thực a, tìm phần tử b của cây T mà b có x gần a nhất (dùng fasb để lấy giá trị tuyệt đối của số thực). b) Cho biết cặp điểm gần nhau nhất của cây T. Câu 2 : (4 điểm) Trên mặt phẳng Oxy có một hình vuông C, ta chia hình vuông C này thành 04 hình vuông C1, C2, C3, C4. Trong mỗi hình vuông Ci (i = 1, 2, 3, 4) ta lại chia thành 04 hình vuông nhỏ hơn mỗi hình vuông được tô màu xanh, đỏ, tím, vàng (theo thứ tự như hình vẽ). Quá tình chia nhỏ kết thúc khi diện tích nhỏ hơn a (cho trước). Anh (chị) hãy xây dựng cấu trúc dữ liệu động để lưu trữ các hình vuông và thuật toán để xây dựng các hình vuông này. CODE ___________________________ | | | | | | | Xanh | Đỏ | | | | | | | |____________|_____________| | | | | | | | Tím | Vàng | | | | | | | |____________|_____________| a) Hãy cho biết có bao nhiêu số lần phải chia. b) Hãy cho biết có bao nhiêu hình vuông có diện tích nhỏ hơn b (cho trước). Hết. 1. Cài đặt các giải thuật sắp xếp : nhị phân, Bubble sort, Select sort, Insert sort, Heap sort, Quick sort. 2. Cài đặt thuật toán tìm kiếm nhị phân - Binary Search 3. Chương trình đổi cơ số, cài đặt bằng stack 4. Bài toán Josephus : có N người đã quyết định tự sát tập thể bằng cách đứng trong vòng tròn và giết người thứ M quanh vòng tròn, thu hẹp hàng ngũ lại khi từng người lần lượt ngã khỏi vòng tròn. Vấn đề là tìm ra thứ tự từng người bị giết Ví dụ : N = 9, M = 5 thì thứ tự là 5, 1, 7, 4, 3, 6, 9, 2, 8 Hãy viết chương trình giải quyết bài toán Josephus 5. Chọn cấu trúc thích hợp để lưu trữ một đa thức với các hệ số khác 0, không cần nhập theo thứ tự bậc. Viết chương trình tính tổng, tích của 2 đa thức, tìm thương và phần dư trong phép chia 2 đa thức, tính đạo hàm của một đa thức. (Có thể cho phép các hệ số là phân số) 6. Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc danh sách liên kết, một phần tử bao gồm các thành phần như sau int MASO char *HOTEN float DIEMTOAN, DIEMVAN, DIEMLY Viết các hàm thực hiện các chức năng sau: Nhập xuất, ghi dữ liệu vào file, đọc dữ liệu từ file Thêm, xoá một sinh viên. Tìm kiếm sinh viên theo mã số, theo điểm trung bình Sắp xếp sv theo mã số Sắp xếp sv theo điểm từ cao xuống thấp, xếp loại, xếp hạng, loại giỏi ở trên cùng rồi đến khá trung bình yếu điểm trung bình < 5.0 : Yếu < =6.5 : Nếu có môn dưới 4 : Yếu, ngược lại Trung Bình < 8.0 : Nếu có môn <6.5 : Trung Bình, ngược lại Khá >=8.0 : Nếu có môn <7 : Khá, ngược lại Giỏi In ra màn mình danh sách SV : Mã số, Họ tên, các điểm(T,V,L), điểm trung bình, loại, xếp hạng (cùng điểm TB, cùng loại thì cùng hạng) theo thứ tự hạng tăng dần. 7. Một ma trận chứa rất ít phần tử với gía trị có nghĩa (tức phần tử khác 0) gọi là ma trận thưa. Tìm cấu trúc dữ liệu biểu diễn ma trận thưa sao cho tiết kiệm nhất (chỉ lưu trữ các phần tử có ý nghĩa. Viết chuong trình cho phép nhập, xuất ma trận, cộng 2 ma trận 8. Giả sử có một dãy số lưu trong file như sau: 8 3 5 2 20 11 30 9 18 4. Chuyển dữ liệu trong file vào cây nhị phân tìm kiếm 9. Giả sử phải xây dựng một chương trình soạn thảo văn bản, hãy chọn cấu trúc dữ liệu thích hợp để lưu trữ văn bản trong quá trình soạn thảo. Biết rằng - Số dòng văn bản không hạn chế - Mỗi dòng văn bản có chiều dài tối đa 80 ký tự - Các thao tác yêu cầu gồm: Di chuyển trong văn bản (lên, xuống, qua trái, qua phải) Thêm, xoá sửa ký tự trong một dòng Thêm, xoá một dòng trong văn bản Đánh dấu, sao chép khối 10. Viết các hàm xác định các thông tin của cây nhị phân T (xét cách cài đặt đệ quy và không đệ quy) a. Số nút lá b. Số nút có đúng 1 cây con c. Số nút có đúng 2 cây con d. Số nút có khóa nhỏ hơn x (giả sử T là CNPTK) e. Số nút có khóa lớn hơn x (giả sử T là CNPTK) f. Số nút có khóa lớn hơn x và nhỏ hơn y (T là CNPTK) g. Chiều cao của cây h. In ra tất cả các nút ở tầng (mức) thứ k của cây T i. In ra tất cả các nút theo thứ tự từ tầng 0 đến tầng thứ h-1 của cây T (h là chiều cao của T). j. Kiểm tra xem T có phải là cây cân bằng hoàn toàn không k. Tìm mức có nhiều nút lá nhất l. Sao chép cây m. Kiểm tra cây T1 có phải là con cây T không CNPTK: cây nhị phân tìm kiếm. Đề thi môn Cấu trúc dữ liệu Thời gian 90 phút Sinh viên được sử dụng tài liệu Câu 1 (5 điểm) Giả sử tồn tại cây nhị phân tìm kiếm T trong bộ nhớ, với data của 01 node là 01 số nguyên có cấu trúc như sau: CODE struct Node{ int data; Node *Left, *Right; }; typedef Node *BSNode; 2. Anh chị hãy viết chương trình: 1. Đếm số node lá trong cây T (1 điểm) 2. Tạo 01 mảng a (các phần tử là các số nguyên) có số phần tử là số node lá của cây T, mỗi phần tử mang giá trị là giá trị của các node là (2 điểm) 3. Tính trung bình tổng chiều dài đường đi từ gốc đến tất cả các node lá (2 điểm) Câu 2 (5 điểm) Anh chị hãy đề nghị xây dựng 01 cấu trúc dữ liệu (động) và các thủ tục để quản lý các phần tử được mô tả như sau: 1. MỖi phần tử là một tam giác đều, được thể hiện qua toạ độ 03 đỉnh của tam giác. 2.Từ 01 tam giác ta lấy toạ độ tâm của tam giác ta sẽ tạo được 03 tam giác mới có quan hệ với tam giác cũ. 3. Việc phân chia sẽ hoàn tất khi khoảng cách từ tâm đến 01 đỉnh bất kì nhỏ hơn epsilon cho trước. 4.Hãy cho biết có bao nhiêu tam giác được sinh ra khi phân chia như trên(với dữ liệu là 01 tam giác có toạ độ xác định ban đầu)? 5. Diện tích tam giác nhỏ nhất là bao nhiêu? 6.Cho biết toạ độ các tam giác có diện tích nhỏ nhất? 7.Có bao nhiêu tam giác có diện tích nhỏ nhất? Câu 1: a)Định nghĩa cấu trúc dãy . Đua ra cấu trúc dữ liệu cho dãy số nguyên không quá 200 phần tử. b) Nêu thuật toán và hàm xử lý : + Tính trung bình cộng của dãy. + Xuất ra các số nguyên tố trong dãy theo thứ tự tăng dần. Câu 2 : a) Nêu cấu trúc dữ liệu cho cây nhị phân tìm kiếm. b) Viết thuật toán và hàm các xử lý trên cây : + Tìm phần tử nhỏ nhất. + Tìm phần tử x trong cây. Câu 3 : a) Đưa ra cấu trúc dữ liệu cho tập hợp và quan hệ 2 ngôi trên tập X. b) Viết thuật toán và hàm xử lý kiểm tra tính phản xạ, đối xứng, bắc cầu, phản xứng. Đề thi cấu trúc dữ liệu HK II 2005-2006 (06/2006) Thời gian :90’ (Đc sử dụng tài liệu) Câu 1: Thực hiện các thao tác sau trên cây nhị phân tìm kiếm(vẽ hình từng bước): - Tạo cây từ các số nguyên:22,14,15,28,34,1,17,27,29,21 (10 số) - Xoá phần tử có giá trị 28 - Xoá nút gốc Câu 2: Giả sử tồn tại cây nhị phân tìm kiếm trong bộ nhớ máy tính. Hãy viết thủ tục hoặc hàm tìm phần tử nhỏ nhất trên cây Câu 3: Trình bày cấu trúc dữ liệu thích hợp để biểu diễn cho các đa thức có nhiều hệ số bằng không (không lưu trữ các số hạng có hệ số bằng không) Viết thuật toán và hàm giải quyết các vấn đề sau: - Cộng, trừ, nhân 2 đa thức - Tính đạo hàm, tính tích phân 1 đa thức - Xuất và nhập 1 đa thức . a) Nêu cấu trúc dữ liệu cho cây nhị phân tìm kiếm. b) Viết thuật toán và hàm các xử lý trên cây : + Tìm phần tử nhỏ nhất. + Tìm phần tử x trong cây. Câu 3 : a) Đưa ra cấu trúc dữ liệu cho. có phải là con cây T không CNPTK: cây nhị phân tìm kiếm. Đề thi môn Cấu trúc dữ liệu Thời gian 90 phút Sinh viên được sử dụng tài liệu Câu 1 (5 điểm) Giả sử tồn tại cây nhị phân tìm kiếm. kiểm tra tính phản xạ, đối xứng, bắc cầu, phản xứng. Đề thi cấu trúc dữ liệu HK II 2005-2006 (06/2006) Thời gian :90’ (Đc sử dụng tài liệu) Câu 1: Thực hiện các thao tác sau trên cây nhị

Ngày đăng: 14/08/2015, 07:33

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan