1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng cấu trúc dữ liệu và giải thuật 6

842 47 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 842
Dung lượng 23,04 MB

Nội dung

Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6 Bài giảng cấu trúc dữ liệu và giải thuật 6

Cho danh sách liên kết đơn l, nút số nguyên dương a) Xóa phần tử danh sách b) Xóa phần tử cuối danh sách c) Xóa phần tử trỏ trỏ q d) Xóa phần tử trước phần tử trỏ trỏ q e) Xóa nút có giá trị k f) Xóa tất số nguyên tố danh sách g) Xóa số có giá trị lớn danh sách (có thể có nhiều phần tử lớn giống nhau) h) Xóa phần tử có giá trị lớn danh sách Lưu ý: Chỉ phép duyệt danh sách lần, Nếu có nhiều phần tử lớn giống nhau, xóa phần tử Cho danh sách liên kết đơn l, nút số nguyên dương a) Hãy tạo danh sách l1 chứa số nguyên tố từ danh sách l b) Tạo danh sách l1 chứa số chẵn chia hết cho từ danh sách l c) Tách danh sách l thành danh sách: danh sách chứa toàn số chẵn, danh sách chứa toàn số lẻ d) Hãy đảo ngược phần tử danh sách (không dùng danh sách phụ khác) e) Viết hàm đảo ngược thứ tự phần tử danh sách với yêu cầu sau: Nhập danh sách L, Xuất danh sách đảo ngược thứ tự, Điều kiện ràng buộc: phép duyệt danh sách L lần f) Trộn hai danh sách tăng dần thành danh sách tăng dần g) Sắp xếp phần tử L giảm dần theo phương pháp chọn trực tiếp Viết chương trình thực yêu cầu sau: a) Khai báo cấu trúc liệu danh sách liên kết đơn tỉnh Biết thông tin tỉnh bao gồm: tên tỉnh, diện tích, dân số b) Cài đặt thao tác cho danh sách liên kết đơn tỉnh (thêm, sửa , xóa, duyệt) _ GV: Huỳnh Thị Thanh Thương c) Tính tổng diện tích tất tỉnh danh sách liên kết d) Tìm địa node chứa tỉnh có diện tích lớn danh sách liên kết e) Tìm tỉnh có dân số lớn f) Sắp xếp danh sách tăng dần theo diện tích Viết chương trình thực u cầu sau: a) Khai báo cấu trúc liệu danh sách liên kết đơn để lưu tọa độ đỉnh đa giác lồi mặt phẳng OXY b) Tính chu vi đa giác c) Tính diện tích đa giác d) Viết chương trình tạo danh sách liên kết h1 h2 từ danh sách cho, đó:h1 chứa nút có thành phần x>0 y>0, h2 chứa nút có thành phần x=9.0 : Loại xuất sắc h) Sắp xếp in danh sách sinh viên tăng theo điểm trung bình i) Chèn sinh viên vào danh sách sinh viên tăng theo điểm trung bình nói trên, cho sau chèn danh sách sinh viên tăng theo điểm trung bình j) Hàm xếp danh sách đạt loại X, danh sách cần theo họ tên tăng dần, họ tên trùng theo ĐTB tăng dần Dùng DSLK đơn để quản lý danh sách nhân viên công ty, Dùng DSLK đơn để quản lý danh sách sách thư viện quan thực tác vụ cần thiết thực tác vụ cần thiết Ví dụ: Một sách bao gồm trường: Mã số sách (số nguyên byte), tên sách(chuỗi, tối đa 40 ký tự), tác giả (chuỗi, đa 30 ký tự), năm xuất (số Dùng DSLK đơn để quản lý băng đĩa tiệm cho thuê đĩa b) Sắp xếp danh sách theo mã số sách a) Đếm số sách xuất năm X nguyên byte) 10 Cho danh sách liên kết đôi, nút chứa số nguyên thực tác vụ cần thiết 11 a) Nhập danh sách liên kết đôi số nguyên b) Xuất danh sách liên kết đôi số nguyên c) Tính tổng node danh sách liên kết đơi d) Cài đặt thao tác cho DSLK đơi (thêm, sửa , xóa, duyệt) _ GV: Huỳnh Thị Thanh Thương e) Chỉ giữ lại giá trị số giá trị giống f) Kiểm tra xem danh sách có xếp tăng dần hay không? g) Đảo ngược danh sách h) Sắp xếp số chẵn danh sách theo thứ tự tăng, xếp số lẻ theo thứ tự giảm dần, số giữ nguyên vị trí Hãy cho biết chi phí cơng việc sau (theo O()): Cài đặt thuật toán xếp chèn trực tiếp DSLK (đơn/kép) 12 a) Tính tổng N số tự nhiên lẻ (số nguyên dương lẻ) b) Liệt kê N phần tử mảng c) Liệt kê phần tử mảng có N phần tử d) Tìm phần tử danh sách liên kết đơn có N phần tử thứ tự tăng dần 13 Cài đặt thuật toán xếp chèn trực tiếp DSLK (đơn/kép) e) Thêm phần tử vào hàng đợi có sẵn N phần tử 14 17 16 15 Cộng hai đa thức (mỗi node có thành phần: hệ số khác số Cài đặt thuật toán Mergesort DSLK (đơn/kép) Cài đặt thuật toán xếp bọt DSLK (đơn/kép) Cài đặt thuật toán xếp Quick sort DSLK (đơn/kép) cách sử dụng đệ quy 18 Tính giá trị đa thức P(x) với x hệ số cho biết trước tổ hạng, số mũ tương ứng mốc nối tới node tiếp theo) Ví dụ: 19 chức dạng danh sách liên kết (mỗi node có thành phần: hệ số khác số hạng, số mũ tương ứng mốc nối tới node tiếp theo) _ GV: Huỳnh Thị Thanh Thương 20 Ta có lựa chọn: Stack; Queue; List (đơn, kép, vòng, liên kết có thứ tự, có nhiều mối liên kết, tổng qt); Cả CTDL khơng thích hợp Trong tình sau, cho biết áp dụng lựa chọn thích hợp Vì sao? a) Các khách hàng quầy bán vé xe lửa lấy số thứ tự để mua vé b) Một danh sách tên theo thứ tự ABC c) Các số nguyên cần phải thứ tự d) Danh sách hàng bán ngày quầy thâu ngân siêu thị e) Chương trình có sử dụng kỹ thuật Back-tracking 22 21 Cài đặt thuật tốn Quicksort theo kiểu khơng đệ quy (khử đệ qui Cài đặt Stack danh sách liên kết đơn Cài đặt Stack mảng chiều f) Các máy bay chờ đáp xuống phi trường 23 26 25 24 Đổi số (10 sang x) Dùng Queue mơ dịng chữ chạy quanh hình Cài đặt Queue danh sách liên kết đơn Cài đặt Queue mảng chiều Stack) 27 Cài đặt thuật toán Ba Lan ngược (Reverse Polish Notation - RPN) Ví dụ: 57 = ??? Đáp án: 28 _ GV: Huỳnh Thị Thanh Thương Định nghĩa RPN biểu thức toán học tốn tử viết sau tốn hạng không dùng dấu ngoặc ( phát minh Jan Lukasiewics – nhà khoa học Ba Lan vào năm 1950) Dùng Stack để tính biểu thức tốn học nhập dạng hậu tố Ví dụ: Dùng stack để kiểm tra chuỗi nhập vào có chuỗi xi ngược hay 532*+  5+(3*2)=11 29 Làm để chuyển phần tử stack S1 sang stack S2 với khơng Ví dụ: dad, level, did, madam, radar 30 Tính giá trị biểu thức dạng chuỗi ký tự bao gồm chữ số c) Viết giải thuật dạng mã giả b) Không dùng thêm stack phụ, dùng thêm vài biến phụ a) Thứ tự phần tử S2 giống S1 yêu cầu sau: 31 phép toán +,-,*,/ , % dấu đóng mở ngoặc đơn Ví dụ: (( + )*2) – 4/2 = 12 _ GV: Huỳnh Thị Thanh Thương 32 Vũ trường ABC có tổ chức khiêu vũ cho cặp nam-nữ Cặp người nam đến người nữ đến đầu tiên, cặp thứ người nam đến thứ người nữ đến thứ Hãy viết chương trình có cài đặt hàng đợi giúp nhập người dự buổi khiêu vũ (nhập tên giới tính), sau xuất Viết chương trình có cài đặt hàng đợi ưu tiên giúp theo dõi trình tự xử lý hình cặp khiêu vũ người dư 33 đơn khiếu nại Đơn khiếu nại có độ ưu tiên cao giải trước Nếu đơn có độ ưu tiên đơn đến trước giải trước Chương trình có chức sau: a) Nhập đơn: tên đơn độ ưu tiên, báo lỗi đầy đơn b) Giải đơn: in hình tên đơn phải giải quyết, báo lỗi hết đơn c) Xem đơn: in hình đơn cần xử lý (in danh sách có tên đơn độ ưu tiên) _ GV: Huỳnh Thị Thanh Thương Lớp: IT003.G23-PMCL-UIT HKII2015-2016 BÀI TẬP CHƯƠNG 5&6 BẢNG BĂM + CÂY B-TREE Môn học: Cấu trúc liệu giải thuật GVLT: Huỳnh Thị Thanh Thương I BẢNG BĂM Hãy trình bày ưu điểm hạn chế cấu trúc bảng băm cho ví dụ minh họa cụ thể ? Cho bảng A kích thước 11 tập khóa K = {7, 20, 16, 24, 12, 40, 15}, ta cần nạp giá trị khóa K vào bảng A sử dụng hàm băm H(k) = k % 11 Hãy vẽ bảng A sau tất giá trị khóa tập K lưu trữ bảng A, sử dụng kỹ thuật danh sách liên kết để xử lý xung đột Cho bảng A kích thước 11 tập khóa K = {30, 10, 56, 14, 22, 60, 15}, ta cần nạp giá trị khóa K vào bảng A sử dụng hàm băm H(k) = k % Hãy vẽ bảng A sau tất giá trị khóa tập K lưu trữ vào bảng A, sử dụng kỹ thuật dò tuyến tính để xử lý xung đột Cho bảng A kích thước 11 tập khóa K = {23, 12, 65, 27, 8, 50, 58}, ta cần nạp giá trị khóa K vào bảng A sử dụng hàm băm H(k) = k % 10 Hãy vẽ bảng A sau tất giá trị khóa tập K lưu trữ vào bảng A, sử dụng kỹ thuật dị tồn phương để xử lý xung đột Cho bảng A kích thước 11 tập khóa K = {7, 20, 16, 24, 12, 40, 15}, ta cần nạp giá trị khóa K vào bảng A sử dụng hàm băm H(k) = k % 11 Hãy vẽ bảng A sau tất giá trị khóa tập K lưu trữ vào bảng A, sử dụng kỹ thuật băm kép để xử lý xung đột, với hàm băm kép thứ tự định nghĩa II CÂY B-TREE Trình bày định nghĩa tính chất B-Tree Thêm khóa: 2, 6,12 Thực yêu cầu sau: 13, 11, 8, 19, 4, 31, 35, 56 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, - Xóa khóa: 4, 5, 7, 3, 14 Mơn học: Cấu trúc liệu giải thuật GVLT: Huỳnh Thị Thanh Thương - Lớp: IT003.G23-PMCL-UIT HKII2015-2016 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(5) Delete(34) Insert(98) Delete(6) Delete(15) Insert(11) 19 Hãy thực chuỗi thao tác sau cho biết kết qua thao tác: III CÂU HỎI CHƯƠNG TỔNG QUAN 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 đích việc này? 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 Phần câu hỏi ơn kiến thức: Cho ví dụ minh họa mối quan hệ cấu trúc liệu thuật toán này? 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 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 vãn thuật toán tốt” 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

Ngày đăng: 27/02/2022, 16:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN