Bài tập CTDL và GT 13

7
BÀI TẬP ÔN TẬP CẤU TRÚC DỮ LIỆU 1 ------ Bài tập thực hành : 1. Trình bày giải thuật và viết chương trình Đổi một số thập phân sang nhị phân và ngược lại. 2. Cho tam giác có 3 cạnh a,b,c nhập từ bàn phím.Kiểm tra xem a,b,c có phải là 3 cạnh của 1 tam giác không. Nếu a,b,c là 3 cạnh của một tam giác thì kiểm tra xem tam giác đó là tam giác gì? (vuông, cân, đều) 3. Trình bày giải thuật và viết chương trình giải phương trình bậc 2. 4. Trình bày giải thuật và viết chương trình đếm số lần xuất hiện của một ký tự nào đó trong 1 chuỗi. 5. Viết chương trình gồm các chức năng sau: - Nhập vào mảng 1 chiều kích thước n (giá trị của các phần tử phát sinh ngẫu nhiên từ 010.000 - Xuất mảng ra màn hình - Tính tổng các phần tử của mảng - Đếm số phần tử là số lẻ, số chẵn của mảng - Xuất ra màn hình các số nguyên tố của mảng - Tìm kiếm 1 phần tử có khóa k trong mảng (tuyến tính) nhị phân. - Sắp xếp mảng theo thứ tự tăng dần. Lưu ý : Cần viết riêng 1 hàm thực hiện mỗi chức năng của chương trình. 6. Trình bày CTDL, giải thuật và viết chương trình tính tổng tích của 2 ma trận. 1

Transcript of Bài tập CTDL và GT 13

Page 1: Bài tập CTDL và GT 13

BÀI TẬP ÔN TẬP CẤU TRÚC DỮ LIỆU 1------

Bài tập thực hành :

1. Trình bày giải thuật và viết chương trình

Đổi một số thập phân sang nhị phân và ngược lại.

2. Cho tam giác có 3 cạnh a,b,c nhập từ bàn phím.Kiểm tra xem a,b,c có phải là 3 cạnh của 1 tam giác không. Nếu a,b,c là 3 cạnh của một tam giác thì kiểm tra xem tam giác đó là tam giác gì? (vuông, cân, đều)

3. Trình bày giải thuật và viết chương trình giải phương trình bậc 2.

4. Trình bày giải thuật và viết chương trình đếm số lần xuất hiện của một ký tự nào đó trong 1 chuỗi.

5. Viết chương trình gồm các chức năng sau:

- Nhập vào mảng 1 chiều kích thước n (giá trị của các phần tử phát sinh ngẫu nhiên từ 010.000

- Xuất mảng ra màn hình

- Tính tổng các phần tử của mảng

- Đếm số phần tử là số lẻ, số chẵn của mảng

- Xuất ra màn hình các số nguyên tố của mảng

- Tìm kiếm 1 phần tử có khóa k trong mảng (tuyến tính) nhị phân.

- Sắp xếp mảng theo thứ tự tăng dần.

Lưu ý: Cần viết riêng 1 hàm thực hiện mỗi chức năng của chương trình.

6. Trình bày CTDL, giải thuật và viết chương trình tính tổng tích của 2 ma trận.

7. Cài đặt tất cả những thao tác cơ bản trên CTDL xâu đơn.

8. Cài đặt bài toán quản lý học sinh trong 1 lớp học ( xâu đơn)

9. Cài đặt bài toán quản lý học sinh trong 1 trường học ( xâu tổng quát).

10. Dùng cấu trúc dữ liệu xâu để biểu diễn cho cấu trúc menu ứng dụng.

Viết chương trình xây dựng menu ứng dụng với cấu trúc menu lưu trong 1 file text.

1

Page 2: Bài tập CTDL và GT 13

Tạo tập tin menu text có dạng sau:

Menu

popup

item “menu item 1” popup

item “menu item 1.1”

item “menu item 1.2”

item “menu item 1.3”

end

item “menu item 2”popup

item “menu item 2.1” popupitem “menu item 2.1.1”

end

item “menu item 2.2”

end

end.

menu item1

menu item2 menu item1.1

menu item1.2

menu item1.3

11. Cài đặt tất cả những thao tác trên cây NPTK.

2

Page 3: Bài tập CTDL và GT 13

Bài tập lý thuyết

1. Trình bày khái niệm về CTDL, thuật toán và chương trình. Vai trò của CTDL, thuật toán đối với 1 chương trình trong máy tính.

2. Trình bày cách khai báo một kiểu dữ liệu cấu trúc trong.Cho ví dụ minh họa.

3. Trình bày những hiểu biết của bạn về CTDL tĩnh, động.

4. Trình bày thuật toán tìm tuyến tính, tìm nhị phân để tìm kiếm 1 phần tử có khóa k trong 1 dãy số. Cho ví dụ minh họa.

5. Trình bày thuật toán chọn trực tiếp dùng để sắp xếp 1 dãy số. Cho ví dụ minh họa.

6. Trình bày CTDL, thuật toán để viết 1 chương trình tính tổng, tích của 2 ma trận.

7. Xét mảng các số nguyên: 10 15 17 8 6 1 9

a. Tính số lần so sánh để tìm ra phần tử X = 6 bằng phương pháp tìm tuyến tính và tìm nhị phân.

b. Nhận xét và so sánh hai phương pháp tìm tuyến tính và tìm nhị phân trong trường hợp này và trong trường hợp tổng quát.

8. Trong 3 phương pháp sắp xếp cơ bản (chọn trực tiếp, chèn trực tiếp và nổi bọt) thì phương pháp nào thực hiện sắp xếp nhanh nhất cho một dãy có thứ tự tăng? Giải thích

9. Trình bày khái niệm, đặc điểm CTDL của danh sách liên kết đơn.

Nêu một số ứng dụng thực tế của xâu đơn.

10. Thuật toán thêm 1 node vào hàng đợi, hủy 1 node khỏi hàng đơn.

11. Cho biết khái niệm và một số ứng dụng của stack, quene.

12. Tổ chức CTDL cho bài toán quản lý sinh viên trong 1 trường học.

- Một trường học gồm nhiều lớp học, mỗi lớp học gồm các thông tin như:

+ Tên lớp

+ Sĩ số

+ Số học sinh nam

+ Số học sinh nữ

+ Xếp hạng thi đua

……

- Mỗi lớp học gồm nhiều học sinh, bao gồm những thông tin sau:

+ Mã số

+Họ tên

3

Page 4: Bài tập CTDL và GT 13

+ Ngày sinh

+ Quê quán

…..

Trình bày thuật giải thực hiện thao tác thêm, hủy, cập nhật thông tin của 1 lớp học, 1 học sinh trên CTDL đã chọn.

13. Trình bày khái niệm, đặc điểm và CTDL của cây nhị phân tìm kiếm.

14. Chứng minh các tính chất của cây NPTK.

15. Tạo cây NPTK bằng cách chèn tuần tự vào cây từng phân tử (nút) có khóa được xác định bởi dãy số bên dưới: (cây ban đầu rỗng)

44 88 18 59 108 55 71 37 10 15 40

Cho biết kết quả khi duyệt cây theo thứ tự NLR, LNR, LRN

Vẽ lại cây sau khi lần lượt hủy các nút có khóa: 15, 37, 44

4

44

18

10

4015

37

88

59 108

55 71

Page 5: Bài tập CTDL và GT 13

Hình 1 (hủy 15)

Hình 2 (hủy 37)

5

44

18

10

4015

37

88

59 108

55 71

44

18

10

4015

37

88

59 108

55 71

Page 6: Bài tập CTDL và GT 13

Hình 3 (hủy 44)

6