Thực hành cấu trúc dữ liệu và giải thuật 7

38 22 0
Thực hành cấu trúc dữ liệu và giải thuật 7

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu hỏi & Bài tập Chương Tổng quan Phần câu hỏi ơn kiến thức: Vì ngơn ngữ lập trình thường cung cấp trước số kiểu liệu bản? Giải thích mục đích việc này? Có nên định nghĩa thêm kiểu liệu từ kiểu liệu bản? Khi ta cần làm việc này? Cho ví dụ minh họa mối quan hệ cấu trúc liệu thuật tốn Cho ví dụ minh họa để giải thích cho câu phát biểu sau:“Một cấu trúc liệu tồi, cứu vãn thuật toán tốt” Khi tiếp cận để giải vấn đề toán, bạn thường quan tâm đến xây dựng cách thức tổ chức, quản lý liệu trước hay cách thức giải vấn đề tốn trước? Vì sao? Cho ví dụ minh họa để giải thích Phần tập: Xây dựng CTDL: mơ hình liệu, định nghĩa kiểu liệu cụ thể C/C++ (1) Dãy số thực có tối đa N phần tử (N hằng) (2) Dãy số thực tùy ý (3) Dãy vector mặt phẳng Oxy (4) Tam giác đa giác mặt phẳng Oxy (5) Đa thức biến (6) Tập hợp số nguyên (bắt buộc) Xây dựng thuật giải: (1) Tính tốn dãy : tổng, trung bình, (2) Tính tốn đa thức (3) Tính tốn tập hợp (4) Thống kê dãy đơn giản : liệt kê số phần tử khác số lần xuất tương ứng, … (5) … Viết chương trình áp dụng giải vấn đề đơn giản theo nội dung 1, Câu hỏi & Bài tập Chương Danh sách liên kết Phần câu hỏi ơn kiến thức: Trình bày bước thao tác danh sách liên kết đơn Trình bày bước thao tác danh sách liên kết đôi 3.Giả sử cho danh sách liên kết đơn có thành phần liệu số nguyên dương, người ta muốn tách danh sách cho thành hai danh sách riêng biệt, danh sách lưu số chẵn, danh sách lưu số lẻ Hãy trình bày giải thuật để tách danh sách cho cho hiệu thời gian xử lý nhớ sử dụng, đặc biệt xét trường hợp danh sách cho bao gồm tất số chẵn số lẻ 4.Hãy trình bày giải thuật trộn hai danh sách liên kết đơn có thứ tự (tăng giảm dần) thành danh sách có thứ tự cho tối ưu nhớ 5.Cho danh sách liên kết mô tả cấu trúc liệu C sau: struct Node { int info; struct Node *next; }; Hãy viết thuật giải nhận đầu vào danh sách liên kết với phân tử trỏ list, thực xếp lại phần tử danh sách cho, cho nút chẵn đứng trước nút lẻ trường hợp ngược lại, thứ tự tương đối ban đầu nút không thay đổi Một nút gọi nút chẵn hay lẻ đứng vị trí chẵn hay lẻ danh sách (vị trí nút danh sách đánh số từ phần tử đến phần tử cuối 0) Bài tập: Viết chương trình thực việc xếp danh sách liên kết đơn bao gồm phần tử số nguyên Viết chương trình cộng đa thức biểu diễn thông qua danh sách liên kết đơn Hãy cài đặt chương trình cho phép nhập vào biểu thức bao gồm: số, toán tử +, -, *, /, div (chia dư) hàm toán học sin, cos, tan, ln, ex, biểu thức có dấu mở, đóng ngoặc "(", ")" chương trình tính tốn giá trị biểu thức Định nghĩa cấu trúc liệu “tập hợp số nguyên” dựa DSLK đơn, viết thuật giải cài đặt xử lý gồm: kiểm tra phần tử thuộc tập hợp, so sánh tập hợp, kiểm tra tập rỗng; tính giao, hội, hiệu Định nghĩa CTDL cho ánh xạ từ tập số nguyên A vào A; thuật giải kiểm tra tính chất dặc biệt như: đơn ánh, tồn ánh, song ánh Tích Descart tập hợp số nguyên A B vài xử lý Hãy viết chương trình cho phép thực yêu cầu sau : a Nhập vào từ bàn phím dãy số nguyên lưu danh sách liên kết có thứ tự không giảm, cách: với phần tử nhập vào phải tìm vị trí thích hợp để chèn vào cho đảm bảo danh sách có thứ tự không giảm b Nếu thay cấu trúc danh sách liên kết mảng thời gian thực mảng so với danh sách liên kết ? 8.Hãy viết chương trình cho phép thực yêu cầu sau : a Giả sử cho danh sách liên kết kép lưu số nguyên, viết chương trình xóa phần tử trùng danh sách (với số nguyên trùng nhau, giữ lại số nguyên nhất) b Nếu thay cấu trúc danh sách liên kết mảng thời gian thực mảng so với danh sách liên kết ? Giả sử cho danh sách liên kết kép lưu số nguyên, viết chương trình cho phép nhập vào danh sách số nguyên, cho số nguyên xuất lần danh sách đảm bảo danh sách trạng thái danh sách có thứ tự khơng giảm 10 Giả sử cho cấu trúc liệu lưu trữ thông tin nhân sau: struct NS { int maso; // lưu thông tin mã số nhân char * hoten ; // lưu thông tin họ tên nhân int thamnien; // lưu thông tin số năm thâm niên float hesoluong ; // lưu thông tin hệ số lương float luongcoban ; // lưu thông tin lương struct Node *next; }; Hãy viết chương trình thực yêu cầu sau: a Tạo danh sách gồm 50 nhân cách lần thêm vào nhân thêm vào từ cuối danh sách b Sắp xếp danh sách theo thâm niên cơng tác giảm dần c Tính lương trung bình nhân câu a, biết lương = hệ số lương * lương d Hiển thị lên hình nhân cho lương cao nhất, có thâm niên cơng tác ngắn nhân có lương thấp nhất, có thâm niên công tác lâu 11 Giả sử cho danh sách hàng hóa bao gồm nhiều mặt hàng, mặt hàng có thơng tin: - Tên mặt hàng - Giá mặt hàng - Số lượng kho Hãy thực yêu cầu sau: a Khai báo danh dách liên kết lưu danh sách mặt hàng theo thông tin mô tả b Viết hàm xếp danh sách mặt hàng câu a theo giá mặt hàng tăng dần, giá xếp theo tên mặt hàng hiển thị lên hình c Viết hàm nhập vào số nguyên x, y (x : Phụ trội = +5% Lương - Trình độ văn hóa = CH: Phụ trội = +10% Lương - Làm thêm : Phụ trội = +4% Lương bản/ngày - Nghỉ không phép : Phụ trội = -5% Lương bản/ngày + Chức yêu cầu: - Cập nhật lý lịch, bảng chấm công cho nhân viên (thêm, xóa, sửa) - Xem bảng lương hàng tháng - Tìm thơng tin nhân viên Hãy khai báo cấu trúc liệu thích hợp để biểu diễn thông tin cài đặt chương trình theo chức mơ tả Bài tập áp dụng : Xây dựng cấu trúc liệu thuật giải viết chương trình quản lý tra từ tự điển Anh Việt khoảng 3000 từ dùng danh sách liên kết 2.Xây dựng cấu trúc liệu thuật giải viết chương trình quản lý thông tin sách thư viện điện tử từ dùng danh sách liên kết Câu hỏi & Bài tập Chương Stack - Queue Phần câu hỏi ôn kiến thức: Hãy cho biết nội dung stack sau thao tác dãy: EAS*Y**QUE***ST***I*ON Với chữ tượng trưng cho thao tác thêm chữ tương ứng vào stack, dấu * tượng trưng cho thao tác lấy nội dung phần tử stack in lên hình Hãy cho biết sau hồn tất chuỗi thao tác, xuất hình? Cài đặt chương trình cho phép thực phép tính +,-,*,/ số có tối đa 30 chữ số, có chức nhớ (M+, M-, MC, MR) Viết chương trình thực thao tác đa thức 4.Giả sử cho hàm push(a) hàm thực nạp a vào ngăn xếp hàm pop() hàm lấy phần tử khỏi ngăn xếp Giả sử cho dãy thao tác sau đây, biết ngăn xếp ban đầu khởi tạo rỗng : push(5), push(3), pop(), push(2), push(8), pop(), pop(), pop(), push(9), push(1), pop(), push(7), push(6), pop(), pop(), push(4), pop(), pop() Hãy viết dãy phần tử danh ngăn xếp (chỉ rõ vị trí đầu ngăn xếp) sau thực thao tác 5.Giả sử cho hàm enq(a) hàm thực nạp a vào hàng đợi hàm deq() hàm thực lấy phần tử khỏi hàng đợi Giả sử cho dãy thao tác sau đây, biết hàng đợi ban đầu khởi tạo rỗng: enq(5), enq(3), deq(), enq(2), enq(8), deq(), enq(9), enq(1), deq(), enq(7), enq(6), deq(), deq() enq(4), deq(), deq() Hãy viết dãy phần tử hàng đợi (chỉ rõ vị trí đầu cuối hàng đợi) sau thực thao tác 6.Hãy trình bày cách sử dụng ngăn xếp để chuyển biểu thức dạng trung tố sau dạng biểu thức hậu tố: a a – b * c ^ d + f b + + * + – * + 7.Hãy trình bày cách tính giá trị biểu thức hậu tố sau nhờ sử dụng ngăn xếp: a + + * 1 + + / b + + * + * Bài tập: Viết chương trình nhập vào số nguyên không âm bất kỳ, sau hiển thị lên hình số đảo ngược thứ tự số nguyên vừa nhập vào (ví dụ: nhập số 12567, hiển thị lên hình số 76521) cách: a Sử dụng ngăn xếp b Sử dụng hàng đợi Viết chương trình chuyển đổi số nguyên N hệ thập phân (hệ 10) sang biểu diễn hệ sau, sử dụng ngăn xếp: a Hệ nhị phân (hệ 2) b Hệ thập lục phân (hệ 16) c Hệ bát phân (hệ 8) 3.Hãy viết chương trình mơ cho tốn “Tháp Hà Nội” cách sử dụng ngăn xếp 4.Hãy viết chương trình tính tốn cho biểu thức số học cách sử dụng ngăn xếp 5.Hãy viết chương trình tìm tất cặp dấu ngoặc tương ứng chương trình viết ngôn ngữ C/C++ Câu hỏi & Bài tập B-Tree Phần câu hỏi ơn kiến thức: Trình bày định nghĩa tính chất B-Tree Cài đặt tất thao B-Tree .c om Cho B-tree bậc gồm khóa sau (chèn vào theo thứ tự): 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56 Thêm khóa: 2, 6,12 - Xóa khóa: 4, 5, 7, 3, 14 co - ng Thực yêu cầu sau: an Khởi tạo B Tree bậc với thao tác Insert: 34, 12, 55, 21, 6, 84, 5, 33, 15, 74, 54, 28, 10, Delete(15) - Delete(6) - Insert(98) - Delete(34) - Delete(5) cu Bài tập : ng - du o Insert(11) u - th 19 Hãy thực chuỗi thao tác sau cho biết kết qua thao tác: Viết chương trình cài đặt thao tác B tree Các tập khác Giảng viên đề nghị CuuDuongThanCong.com https://fb.com/tailieudientucntt TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU (HK2 2017- 2018) Thời gian: 75 phút  Sinh viên không phép sử dụng tài liệu  Sinh viên lưu với tên tập tin CPP Mã Số Sinh Viên (17520001.CPP)  Ở đầu tập tin sinh viên phải ghi thơng tin dạng ghi sau: /* Ho Ten : MSSV : De so : */  ĐỀ SỐ Viết chương trình hồn chỉnh thực yêu cầu sau: Xây dựng cấu trúc tạo nhị phân tìm kiếm từ dãy số nguyên dương cho trước cho lưu trữ số trùng Kết thúc nhập số (số giá trị cây) Xuất nhị phân tìm kiếm theo thứ tự giảm dần cho biết số lần xuất phần tử Tìm xuất tất nút số nguyên tố nhị phân tìm kiếm Xuất nút nằm mức k (nút gốc có mức 0) Tìm xuất tất nút có tổng giá trị nút bên trái tổng giá trị nút bên phải (khơng tính nút lá) Lưu ý: câu phải viết thành hàm, chương trình phải canh lề ngắn - HẾT TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MƠN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Viết chương trình C với yêu cầu sau: Định nghĩa danh sách liên kết đơn dùng để quản lý danh sách học sinh, với cấu trúc học sinh gồm có hai phần liệu chính: Câu a - Họ tên học sinh, chuỗi không 80 ký tự - Ngày tháng năm sinh học sinh, theo cấu trúc liệu thể ngày DATE gồm có trường ngày, tháng, năm định nghĩa riêng Câu b Viết hàm nhập vào danh sách học sinh từ bàn phím, với q trình nhập kết thúc người dùng không nhập tên học sinh Danh sách học sinh lưu vào danh sách liên kết định nghĩa Chú ý thêm: Chương trình khơng kiểm tra tính xác ngày tháng năm sinh, mặc định liệu nhập Câu c Viết hàm xếp danh sách học sinh theo thứ tự alphabet họ tên, viết hàm hỗ trợ thao tác khởi tạo danh sách rỗng, in danh sách học sinh hành, hàm hủy toàn học sinh Câu d Sử dụng hàm viết viết hàm main thực việc nhập vào danh sách học sinh từ bàn phím, in danh sách ra, xếp học sinh theo họ tên, in lại danh sách xếp hình Cuối huỷ danh sách học sinh kết thúc chương trình -HẾT - TRƯỜNG ĐH CƠNG NGHỆ THƠNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên khơng phép sử dụng tài liệu Viết chương trình thực việc sau: Tạo nhị phân tìm kiếm Duyệt nhị phân tìm kiếm theo thứ tự giảm dần Ví dụ: Nhập nhị phân tìm kiếm sau: 10 15 12 18 14 17 19 23 Kết xuất hình là: 18 15 14 12 10 Đếm số nút nhị phân tìm kiếm Xóa tất node có giá trị số nguyên tố -HẾT - TRƯỜNG ĐH CÔNG NGHỆ THƠNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Cài đặt hàm sau: Tạo danh sách liên kết đơn với trường data số nguyên dương Xuất danh sách liên kết đơn hình Tạo danh sách lC tăng dần từ danh sách lA lB Ví dụ: Nhập danh sách: lA: lB: 12 Kết danh sách lC là: -HẾT - 12 TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Cài đặt hàm sau: Tạo danh sách liên kết đơn với trường data số nguyên dương Sử dụng danh sách liên kết nhập vào số lớn A, B (qua trình nhập kết thúc nhận vào giá trị -1) Hoán đổi danh sách liên kết A, B cho A chứa toàn chữ số chẵn B chứa toàn chữ số lẻ Ví dụ: Nhập danh sách: A: 12 B: Kết danh sách là: A: 12 B: -HẾT - TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MƠN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khoá Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Cài đặt hàm sau: Tạo danh sách liên kết đơn với trường data kiểu kí tự để biểu diễn số hex (biểu diễn số dạng thập lục phân) Sử dụng danh sách liên kết nhập vào số hex A, B (qua trình nhập kết thúc nhận vào kí tự khơng thuộc miền biểu diễn số hex [0, 1, , 9, A, B, C, D, E, F]) Cho biết A, B số phần tử So sánh số A, B cho biết số lớn Ví dụ: Nhập danh sách: A: C F B: E A Kết là: B > A -HẾT - TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Viết chương trình thực việc sau: Tạo xuất nhị phân tìm kiếm Xóa tất nút số nguyên tố nhị phân tìm kiếm Tìm tất nút có số nút bên trái số nút bên phải (khơng kể nút khơng có nút con) 10 15 Ví dụ: Nút thỏa điều kiện : 6, 15 29 12 14 34 -HẾT - TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  ĐỀ THI THỰC HÀNH MƠN CẤU TRÚC DỮ LIỆU – Đề số Cử nhân quy - Khố Thời gian: 60 phút Sinh viên không phép sử dụng tài liệu Cài đặt hàm sau: Tạo danh sách liên kết đơn cách thêm vào sau phần tử đầu danh sách, với trường liệu số nguyên dương (nhập tới

Ngày đăng: 01/03/2022, 09:01

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

Tài liệu liên quan