Tài liệu Chương 2 Các kiểu dữ liệu cơ bản doc

5 519 0
Tài liệu Chương 2 Các kiểu dữ liệu cơ bản doc

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

Thông tin tài liệu

Chương 2 Các kiểu dữ liệu bản 1. Viết ct thực hiện các phép toán trên ma trận vuông số thực: cộng, trừ, nhân 2. Viết ct minh họa một barner quảng cáo gồm một khung cửa sổ và dòng chữ quảng cáo chạy qua lại trong khung 3. Viết ct quản lý mặt hàng, thông tin một mặt hàng gồm: mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng. Chương trình các chức năng: a. Nhập mặt hàng b. In danh mục mặt hàng c. Tính doanh thu= Tổng(Đơn giá* Số lượng) các mặt hàng d. Tính thuế GTGT: i. Nếu đơn vị tính là “Chai” : thuế = 10% ii. Nếu đơn vị tính là “Kg”: thuế = 5% iii. Còn lại không thuế 4. Viết ct đọc nội dung một file văn bản, hiển thị lên màn hình và cho biết trong file bao nhiêu từ, đếm số lần xuất hiện của 1 từ do người dùng nhập vào. 5. Viết ct quản lý lương nhân viên sử dụng tập tin nhị phân a. Dữ liệu lưu trữ gồm: mã nv, họ tên, ngày sinh, lương bản, hệ số lương, số ngày công, số ngày nghỉ b. Tính lương theo công thức Lương = Lương cb * hệ số lương * (ngày công – ngày nghỉ) /24 c. Chương trình các chức năng i. Nhập hồ sơ ii. In danh sách nhân viên iii. In bảng lương iv. Tìm kiếm nhân viên 6. Viết ct mô phỏng Karaoke với dữ liệu lưu trữ trong tập tin nhị phân 7. Hãy nêu giải thuật mà độ phức tạp tính toán của nó là O(1) 8. Giải thích tại sao T(n) = O(n) thì cũng sẽ đúng khi ta viết T(n) = O(n2) 9. Với các đoạn chương trình dưới đây hãy xác định độ phức tạp tính toán của giải thuật bằng ký pháp O lớn, trong trường hợp xấu nhất a) Sum := 0 For i := 1 to n do Begin Readln(x); Sum := Sum + x; End b) For i := 1 to n do For j := 1 to n do Begin C[i, j] := 0; For k := 1 to n do C[i, j] := C[i, j] + A[i, k] * B[k, j] End; c) For i := 1 to n-1 do Begin For j := i to n-1 do If X[j] > X[j+1] then Begin Temp := X[j]; X[j] := X[j+1]; X[j+1] := Temp End End Chương 3 Các thuật tốn sắp xếp và tìm kiếm 1. Viết ct nhập một mảng số ngun ( tạo mảng ngẫu nhiên), thực hiện sắp xếp mảng theo các thuật tốn a. Chọn trực tiếp b. Chèn trực tiếp c. Đổi chỗ trực tiếp d. Nổi bọt e. Shaker sort f. Shell sort g. Heap sort h. Quick sort i. Merge sort j. Radix sort 2. Viết ct nhập một dãy số ngun, lưu trữ trong tập tin nhị phân, thực hiện thao tác sắp xếp dữ liệu bằng các thuật tốn a. Trộn tự nhiên b. Trộn trực tiếp 3. Dùng các phép tốn xâu kí tự bản, viết một thuật tốn đệ qui để xác định một xâu kí tự là palindrome hay khơng. Xâu kí tự được gọi là palindrome nếu nó khơng thay đổi khi ta đảo ngược thứ tự của các kí tự trong xâu kí tự Ví dụ : MADAM, 45811854 … 4. Viết ct minh họa bài tốn đặt tám qn hậu 5. Viết ct minh họa bài tốn Tháp Hà nội 6. Viết ct minh họa bài tốn qn mã đi tuần 7. Viết ct liệt kê dãy nhị phân độ dài n bít 8. Viết ct liệt kê các hốn vị của các số ngun từ 1 đến n Chương 4 Cấu trúc dữ liệu động 1. Viết ct minh họa các thao tác trên danh sách liên kết đơn chứa các số ngun 2. Viết ct minh họa các thao tác trên danh sách liên kết kép chứa các số ngun 3. Cho một ngăn xếp s và 1 đoạn chương trình như sau: struct STACK s; int x, y = 5; Push(s, 8); Push(s, y); Push(s, 9); Pop(s, x); Push(s, 18); Pop(s, x); Push(s, 22); while (IsEmpty(s) == 0) { Pop(s, x); printf(“%d “, y); } Hãy cho biết kết quả in ra màn hình khi thi hành đoạn chương trình trên là gì ? 4. Cho một hàng đợi q và 1 đoạn chương trình như sau: struct QUEUE q; int x = 5, y = 3; EnQueue(q, 8); EnQueue(q, 9); EnQueue(q, y); DeQueue(q, x); EnQueue(q, 18); DeQueue(q, x); EnQueue(q, 22); while (IsEmpty(q) == 0) { DeQueue(q, y); printf(“%d “, y); } Hãy cho biết kết quả in ra màn hình khi thi hành đoạn chương trình trên là gì ? 5. Viết ct minh họa các thao tác trên ngăn xếp 6. Viết ct minh họa các thao tác trên hàng đợi 7. Viết ct chuyển đổi giữa các hệ thồng số dùng ngăn xếp 8. Viết ct tính giá trị của biểu thức tiền tơ, hậu tố dùng ngăn xếp 9. Viết một chương trình đọc một xâu ký tự, đẩy mỗi kí tự vào ngăn xếp theo thứ tự như khi chúng được đọc và đồng thời thêm nó vào một hàng đợi. Khi đến kết thúc xâu kí tự, dùng các phép tốn bản của ngăn xếp và hàng đợi để xác định xâu ký tự đó phải là một Palindrome khơng. 10. Cho 2 xâu liên kết T1 và T2. Giả thiết mỗi phần tử của chúng chỉ 2 thơng tin : - Khóa của nút (là số ngun) - Con trỏ đến phần tử kế Viết chương trình tạo một xâu liên kết T nối từ 2 xâu T1 và T2 sao cho : - Các phần tử trong T giá trị tăng - Khơng trường hợp trùng nhau - Xác định chi phí thuật tốn 11. Cho một xâu đơn T, mỗi nút của nó chứa các thơng tin sau : - Key : kiểu Integer - Next : con trỏ chỉ đến phần tử kế Viết chương trình C/Pascal tách xâu T thành 2 xâu T1 và T2, trong đó T1 chứa các phần tử khóa > 0 và T2 chứa các phần tử khóa < 0. Đánh giá chi phí thuật tốn. 12. Cho 2 xâu đơn T1, T2 viết ct thực hiện các thao tác - Sắp xếp tăng dần, giảm dần - So sánh 2 xâu - Đếm nút dùng đệ quy - Tính tổng giá trị các nút, tổng chẵn, tổng lẻ - Kiểm tra xâu T1 xuất hiện trong xâu T2 không và ngược lại 13. Hãy cài đặt thuật toán Quicksort không dùng đệ qui. 14. Cho dãy số f(n) = 1 nếu n = 0 hay n = 1 f(n-1) + f(n-2) nếu n > 1 - Hãy viết một thủ tục/hàm đệ qui tính giá trị của f(n), với n được nhập từ bàn phím. - Hãy viết một thủ tục/hàm không đệ qui tính giá trị của f(n), với n được nhập vào từ bàn phím. Sử dụng Stack để khử đệ qui. 15. Cho 2 xâu đơn T1, T2 ciết ct thực hiện các thao tác - Tìm phần giao của 2 xâu - Tìm phần hội của 2 xâu - Tìm phần hiệu của 2 xâu Chương 5 Bảng băm 1. Viết ct mô phỏng các thao tác trên bảng băm sử dụng phương pháp dò tuyến tính 2. Viết ct mô phỏng các thao tác trên bảng băm sử dụng phương pháp nối kết 3. Viết ct mô phỏng các thao tác trên bảng băm sử dụng phương pháp dò bậc hai 4. Viết ct tổ chức lưu trữ từ điển dưới dạng bảng băm 5. Hãy chọn cấu trúc dữ liệu thích hợp để biểu diễn trong bộ nhớ chính một từ điển tần số gồm tối đa 1000 từ, mỗi từ độ dài 10 ký tự, đi kèm với mỗi từ là số lần xuất hiện của từ đó (đã được thu thập từ một số văn bản nào đó). Yêu cầu : a. Thời gian truy cập đến một từ là tối thiểu b. Bộ nhớ được dùng là tối thiểu c. Giả sử cấu trúc dữ liệu biểu diễn từ điển tần số (câu a.) đã được định nghĩa và chứa đầy đủ dữ liệu. Viết chương trình C/Pascal liệt kê ra 100 từ tần số lớn nhất. Chương 6 Cấu trúc cây 1. Hãy cài đặt thuật toán duyệt cây nhị phân (NLR) không dùng đệ qui (dùng stack) 2. Hãy cài đặt thuật toán duyệt cây nhị phân theo mức không dùng đệ qui (dùng queue) 3. Cho một cây nhị phân tìm kiếm với gốc là Root, giá trị lưu trữ tại mỗi nút là một số nguyên (int). Hãy viết đoạn chương trình tìm phần tử nhỏ nhất trong cây. 4. Cho một cây nhị phân cấu trúc nút là NODE, hãy: a. Viết thủ tục/hàm để tính tổng số nút 1 nhánh con (con trái HAY con phải) bằng cách dùng thuật toán duyệt gốc giữa NLR. b. Thiết lập 1 công thức đệ qui để thực hiện yêu cầu ở câu [a]. Cài đặt công thức này thành thủ tục/hàm. 5. Cho một cây nhị phân tìm kiếm t cấu trúc nút là BST_NODE được khai báo như sau: struct BST_NODE { int Key; // Khoá của nút int So_lan; // Số lần xuất hiện của khoá trong cây struct BST_NODE *Left, *Right; } struct BST_TREE { struct BST_NODE *pRoot; // Nút gốc của cây } struct BST_TREE t; // Cây t a. Hãy viết thủ tục/hàm thực hiện thao tác xoá phần tử khoá X. Cách xoá như sau: · Nếu phần tử X tồn tại, giảm field So_lan của nó 1 đơn vị. · Nếu phần tử X không tồn tại, thông báo. b. Hãy viết 1 thủ tục/hàm in lên màn hình giá trị của các phần tử đang tồn tại trong cây theo thứ tự NLR. Ghi chú: một phần tử được gọi là tồn tại trong cây nếu So_lan > 0. 6. Cho một cây nhị phân gốc là Root, mỗi nút chứa một số nguyên. a. Hãy viết chương trình tính trung bình cộng của các nút trong cây. b. Hãy viết chương trình tính trung bình cộng của các số dương trong cây. c. Hãy viết chương trình tính trung bình cộng của các số âm trong cây. d. Hãy viết chương trình tính tỉ số: R = a / b Với a = tổng số các nút giá trị > 0 b = tổng số các nút giá trị < 0 7. Hãy viết một thủ tục/hàm tạo một danh sách liên kết đơn từ cây trên sao cho giá trị các phần tử trong danh sách thứ tự giảm dần. Biết gốc của cây là ROOT. . Chương 2 Các kiểu dữ liệu cơ bản 1. Viết ct thực hiện các phép toán trên ma trận vuông số thực: cộng, trừ, nhân 2. Viết ct minh họa. kê các hốn vị của các số ngun từ 1 đến n Chương 4 Cấu trúc dữ liệu động 1. Viết ct minh họa các thao tác trên danh sách liên kết đơn chứa các số ngun 2.

Ngày đăng: 18/02/2014, 17:20

Từ khóa liên quan

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

Tài liệu liên quan