1. Trang chủ
  2. » Giáo án - Bài giảng

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

156 91 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

Tiêu đề Cấu Trúc Dữ Liệu Và Giải Thuật
Tác giả Nguyễn Thị Vân
Trường học Trường Cao Đẳng Công Nghệ Thủ Đức
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tài Liệu Giảng Dạy
Năm xuất bản 2014
Thành phố Thủ Đức
Định dạng
Số trang 156
Dung lượng 7,43 MB

Nội dung

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN B ộ MÔN TIN HỌC SỞ Tài liệu giảng dạy CÁU TRÚC DỮ LIỆU VÀ GIẢI THUẬT nhiệm đề tàỉ :'Nguyễn Thị Vân Thủ Đức, ìtìảẠỵ năm 2014 THƯ V ĩ Ẹ nT TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN B ộ MÔN TIN HỌC co SỞ Tài liệu giảng dạy CÁU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Chủ nhiệm đề tài: Nguyễn Thị Vân Thủ Đức, tháng năm 2014 Tài liệu giảng dạy cấu trúc liệu giải thuật T X • f • Ậ L ị i nói đâu Học phần Cấu trúc liệu giải thuật thiết kế dành cho sinh viên khoa Công nghệ thông tin sinh viên u thích lập trình Mục đích học phần bổ sung thêm kiến thức loại cấu trúc liệu thao tác loại cấu trúc liệu nhằm cho sinh viên giải tốn thực tế, phân tích cấu trúc liệu cho toán Trong tài liệu tơi sử dụng ngơn ngữ lập trình c/ C++ đê minh họa cho thuật tốn trình bày cú pháp cấu trúc liệu Trong tài liệu mong muốn truyền đạt cho sinh viên mạch tư để lập trình logic, phương pháp để giải vấn đề Tôi xin trân trọng gửi lời cảm ơn đến Ban giám hiệu trường Cao Đẳng Công Nghệ Thủ Đức, đồng nghiệp công tác Khoa Cơng nghệ thơng tin đóng góp ý kiến giúp đỡ tơi tận tình q trình biên soạn hoàn tất tài liệu Mặc dù tơi tìm hiểu, nghiên cứu nồ lực nhiều q trình biên soạn, tài liệu khơng tránh khỏi thiếu sót định Tơi mong nhận góp ý xây dựng từ người đọc để ngày nâng cao chất lượng tài liệu lần tái sau Tài liệu giảng dạy cấu trúc liệu giải thuật Mục lục Lời nói đầu Mục lục CHƯƠNG 1 GIỚI T H IỆ U 11 VAI TRÒ CỦA CÁU TRÚC DỮ LIỆU TRONG M ỘT ĐỀ ÁN TIN HỌC 11 1.1 Mối quan hệ cấu trúc liệu giải th u ậ t 11 1.1.1 Xây dựng cấu trúc liệ u 11 1.1.2 Xây dựng giải thuật 11 1.1.3 Mối quan hệ cấu trúc liệu giải th u ậ t 12 1.2 Tiêu chí đánh giá cấu trúc liệ u 12 1.3 Các bước giải toán 12 TRỪU TƯỢNG HÓA DỮ L IỆ U 13 THUẬT TOÁN - GIẢI THUẬT 13 3.1 Khái n iệ m 13 3.2 Các tính chất thuật to n .14 3.2.1 Tính dừng 14 3.2.2 Tính xác đ ịn h 15 3.2.3 Tính đ ắ n 15 3.2.4 Tính phổ dụng 16 3.2.5 Tính khả th i 16 TỔNG KẾT C H Ư Ơ N G 17 CÂU HỎI VÀ BÀI TẬ P 17 CHƯƠNG 2 ĐẢNH GIẢ GIẢI TH U Ậ T 18 GIỚI THIỆU 18 1.1 Tại phải đánh giá thuật to n 18 1.2 Tính hiệu thuật to n 19 ƯỚC LƯỢNG VÀ TÍNH THỜI GIAN T H ự C HIỆN CHƯƠNG TRÌNH 20 2.1 Phân tích thời gian thực thuật to n 20 2.2 Phân tích số ví dụ minh họa để tính thời gian thực thuật tốn 22 2.3 Cấp độ tăng hàm T (n ) 24 Tài liệu giảng dạy cấu trúc liệu giải thuật 3 ĐÁNH GIÁ Đ ộ PHỨC TẠP CỦA THUẬT T O Á N 25 3.1 Khái niệm độ phức tạp thuật tốn, kí hiệu b ig - 25 3.2 Các quy tắc xác định độ phức tạp giải th u ậ t 27 3.3 Các kỹ thuật đánh giá độ phức tạp thuật toán 28 3.3.1 Câu lệnh đ n 28 3.3.2 Câu lệnh hợp th n h 28 3.3.3 Câu lệnh lặp với số lần lặp biết trước fo r-d o 28 3.3.4 Câu lệnh rẽ nhánh if 29 3.3.5 Câu lệnh lặp với số lần lặp chua biết trước w hile 30 TỔNG KẾT C H Ư Ơ N G 31 CÂU HỎI VÀ BÀI TẬ P 31 CHƯƠNG CÁC THUẬT TỐN TÌM K IẾM .34 NHU CẦU TÌM KIẾM DỮ LIỆU TRONG MỘT HỆ THỐNG THƠNG TIN 34 CÁC THUẬT TỐN TÌM KIẾM N Ộ I 34 2.1 Mơ tả tốn tìm kiếm 34 2.2 Tim kiếm tuyến tín h 35 2.3 Tim kiếm nhị phân 36 TỔNG KẾT C H Ư Ơ N G 38 CÂU HỎI VÀ BÀI TẬ P 39 CHƯƠNG CÁC THUẬT TOÁN SẮP X ẾP 40 ĐỊNH NGHĨA BÀI TOÁN SẮP X Ế P 40 CÁC THUẬT TOÁN SẮP XẾP VÀ ĐÁNH GIÁ THUẬT T O Á N 40 2.1 Đổi chồ trực tiếp (Interchange S o rt) 40 2.1.1 Ý tưởng thuật to n 40 2.1.2 Ví dụ minh h ọ a 41 2.2 Chèn trực tiếp (Insertion Sort) 42 2.2.1 Ý tưởng thuật to n 42 2.2.2 Ví dụ minh h ọ a 42 2.3 Chọn trực tiếp (Selection Sort) 44 Tài liệu giảng dạy cấu trúc liệu giải thuật 2.3.1 Ý tưởng thuật to n 44 2.3.2 Ví dụ minh h ọ a 44 2.4 Nổi bọt (Buble Sort) .45 2.4.1 Ý tưởng thuật to n 45 2.4.2 Ví dụ minh h ọ a 46 2.5 H eapSort 46 2.5.1 Ý tưởng thuật to n 46 2.5.2 Ví dụ minh h ọ a 47 2.6 Q uicksort 51 2.6.1 Ý tưởng thuật to n 51 2.6.2 Ví dụ minh h ọ a 52 2.7 M ergSort 54 2.7.1 Ý tưởng thuật to n 54 2.7.2 Ví dụ minh h ọ a 55 TỔNG K ẾT C H Ư Ơ N G 58 CÂU HỎI VÀ BÀI TẬ P 59 CHƯƠNG CẤU TRÚC D Ữ LIỆU Đ Ộ N G 61 CON TRỎ VÀ CẤP PHÁT ĐỘNG B ộ N H Ớ 61 1.1 Khái niệm biến trỏ 61 1.2 Các thao tác biến trỏ 61 1.2.1 Gán địa biến cho biển t r ỏ 61 1.2.2 Tham chiểu đến vùng nhớ mà trỏ tớ i 62 1.2.3 Cộng, trừ trỏ với số nguyên 62 1.3 Con trỏ cấp phát vùng nhớ đ ộ n g 62 1.4 Cấp phát lại vùng nhớ cho biến tr ỏ 63 1.5 Giải phóng vùng nhớ cho biến trỏ 63 KIỂU DỮ LIỆU CÓ CÁU TR Ú C 64 2.1 Định nghĩa kiểu liệu có cấu tr ú c 64 2.2 Cấu trúc tự t r ỏ 65 2.3 Biến trỏ kiểu cấu trú c 65 Tài liệu giảng dạy cấu trúc liệu giải thuật NHU CÀU XÂY DỤNG CÁU TRÚC DỮ LIỆU Đ Ộ N G 66 KIỂU DỮ LIỆU DANH SÁ CH 67 4.1 4.1.1 Định nghĩa 67 4.1.2 Phân loại 67 4.1.3 So sánh 68 4.2 Các thao tác danh sá c h 69 4.2.1 Tạo danh s c h 69 4.2.2 Thêm phần tử vào danh s c h 69 4.2.3 Tim kiếm phần tử danh sách 69 4.2.4 Loại bỏ bớt phần tử khỏi danh s c h 69 4.2.5 Cập nhật (sửa đổi) gi trị cho phần tử danh s ác h .69 4.2.6 Sắp xếp thứ tự phần tử danh s c h 70 4.3 Định nghĩa, phân loại, so sán h 67 Danh sách liên k ế t 70 4.3.1 Định ngĩa, phân loại 70 4.3.2 Xây dựng cấu trúc liệ u 70 4.3.3 Các thao tác b ả n 71 Ngăn xểp ( Stac k) 87 5.1 Khái n iệ m 87 5.2 Cài đặt ngăn xếp m ản g 88 5.3 Cài đặt N găn xếp danh sách liên kết đ n .92 5.4 ứ n g dụng Ngăn x ế p 99 Hàng đợi (Q ueue) 103 6.1 Khái n iệ m 103 6.2 Cài đặt Hàng đợi mảng với phương pháp tịnh tiế n : 105 6.3 Cài đặt Hàng đợi danh sách liên k ế t 112 6.4 ứ n g dụng 115 TỔNG KẾT C H Ư Ơ N G 116 CÂU HỎI VÀ BÀI TẬ P 116 CHƯƠNG CÁU TRÚC C Â Y 120 Tài liêu giảng day cấu trúc liêu giải thuât KHÁI NIỆM CÂ Y 120 CÂY NHỊ PH Â N 123 2.1 Định n g h ĩa 123 2.2 Tính chất nhị p h ân 124 2.3 Biểu diễn nhị phân 125 2.4 Duyệt nhị phân 126 2.5 Biểu diễn tổng quát nhị phân 129 2.6 Một cách khác để biểu diễn nhị phân 131 CÂY NHỊ PHÂN TÌM K IẾ M 132 3.1 Định ng h ĩa 132 3.2 Các thao tác nhị phân tìm kiếm 132 3.2.1 Duyệt c â y 132 3.2.2 Tim phần tử 3.2.3 Thêm phần tử 3.2.4 Hủy phàn tử có khóa 3.2.5 Tạo C N PTK 139 3.2.6 Hủy toàn C N P T K 139 3.3 X c â y 132 X vào c â y 134 X 136 Đánh giá 140 CÂY NHỊ PHÂN CÂN B Ằ N G 140 4.1 Định nghĩa: 140 4.2 Lịch sử cân ( AVL Tree) 141 4.3 Cấu trúc liệu cho A V L 141 4.4 Cân lại A V L 142 TỔNG KẾT C H Ư Ơ N G 150 CÂU HỎI VÀ BÀI TẬP 150 Tài liệu giảng dạy cấu trúc liệu giải thuật Danh mục hình ảnh Hình 2-1 So sánh cấp độ tăng hàm đánh giá giải thuật 26 Hình 4-5 Minh họa thuật tốn HeapSort 49 Hình 4-6.Minh họa thuật toán Q uickSort 53 Hình 4-7 Minh họa thuật tốn M ergSort 56 Hình 5-1 Minh họa danh sách rỗ n g 72 Hình 5-2 Mơ hình tạo phần t 73 Hình 5-3 Thao tác thêm phần tử vào đầu danh s c h .74 Hình 5-4 Thao tác thêm phần từ vào cuối danh sách 75 Hình 5-5 Thao tác thêm phần từ vào danh sác h 77 Hình 5-6 Thao tác xóa phần tử đầu danh sách 80 Hình 5-7 Thao tác xóa phần tử cuối danh s c h 81 Hình 5-8 Thao tác xỏa phần tử sau q 81 Hình 5-9 Mơ xếp danh sách liên kết đơn thuật toán đổi chồ trực tiếp .84 l z .7 Hình 5-10 Mơ xếp danh sách liên kết đơn thuật toán chọn trực tiếp 86 Hình 5-11 Hình mơ ngăn x ế p 87 Hình 5-12 Mơ thao tác ngăn x ế p 88 Hình 5-13 Mơ hình cài đặt ngăn xếp m ảng 89 Hình 5-14 Mơ hình cài đặt ngăn xếp danh sách liên kết đ n 93 Hình 5-15 Mơ hàng đ ợ i 103 Hình 5-16 Thao tác hàng đ ợ i 104 Hình 6-1 Cây mục lục s c h 121 Hình 6-2 Cây biểu diễn đồ tổ chức công t y 122 Hình 6-3 Cây biểu diễn cấu trúc thư viện 122 Hình 6-4 Cấu trúc nhị p h â n 123 Hình 6-5 Biểu thức tốn học biểu diễn nhị phân 124 Hình 6-6 Tính chất nhị p h â n 124 Hình 6-7 Duyệt Node - Left - R ig h t 126 Tài liệu giảng dạy cấu trúc liệu giải thuật Hình 6-8 ứ n g dụng duyệt theo Left-Right-Node tính tổng kích thước thư mục 128 Hình 6-9 ứ n g dụng duyệt theo Left-Right-Node tính giá trị biểu th ứ c 129 Hình 6-10 Ví dụ nhị p h â n 129 Hình 6-11 Cây tổng quát .130 Hình 6-12 Cây nhị phân chuyển đổi từ tổng q u át 131 Hình 6-13 Cách biểu diễn khác nhị p h â n 132 Hình 6-14 Ví dụ nhị phân tìm k iế m 132 Hình 6-15 Tĩm phần tử nhị phân tìm k iể m 134 Hình ó -16 Minh họa thêm mọt phần tử vào nhị phân tìm k iế m 136 Hình 6-17 Hủy nút nhị phân tìm k iế m 137 Hình 6-18 Hủy nút có nhị phân tìm k iế m 137 Hình 6-19 Hủy nút có đủ nhị phân tìm k iế m 138 Hình 6-20 Cây nhị phân cân b ằ n g 141 Hình 6-21 Cây bị lệch tr i 143 Hình 6-22 Cây bị lệch phải 144 Hình 6-23 Cân lại trường hợp 144 Hình 6-24 Cân lại trường hợp 145 Hình 6-25 Cân lại trường hợp .145 Tài liệu giảng dạy cấu trúc liệu giải thuật Hình 6-20 Cây nhị phân cân 4.2 Lịch sử cân (AVL Tree) AVL tên viết tắt tác giả người Nga đưa định nghĩa cân Adelson-Velskii Landis (1962) Vì lý này, người ta gọi nhi phân cân băng AVL Tù sau, dùng thuật ngừ AVL thay cho cân Từ giới thiệu, AVL nhanh chóng tìm thấy ứng dụng nhiều tốn khác Vì vậy, mau chóng trở nên thịnh hành thu hút nhiều nghiên cứu Từ AVL, người ta phát triển thêm nhiều loại CTDL hữu dụng khác đỏ-đen (Red-Black Tree), B-Tree, 4.3 Cấu trúc liệu cho AVL Chỉ số cân nút: Định nghĩa: Chỉ số cân nút hiệu chiều cao phải trái Đối với cân bằng, số cân (CSCB) nút mang ba giá trị sau đây: CSCB(p) = Độ cao trái (p) = Độ cao phải (p) CSCB(p) = Độ cao trái (p) < Độ cao phải (p) CSCB(p) = -l Độ cao trái (p) > Độ cao phải (p) Tài liệu giảng dạy cấu trúc liệu giải thuật 141 Để tiện trình bày, chứng ta ký hiệu sau: p->balFactor = CSCB(p); Độ cao trái (p) ký hiệu hL Độ cao phải(p) ký hiệu hR Đe khảo sát cân bằng, ta cần lưu thêm thông tin số cân nút Lúc đó, cân khai báo sau: ty p ed ef s t r u c t tagAVLNode { c h a r b a l F a c t o r ; / / C h ỉ s ố cân b ằ n g D ata key; struct tagAVLNode* pLeft; s t r u c t tagAVLNode* p R i g h t ; }AVLNode; t y p e d e f AVLNode *AVLTree; Đe tiện cho việc trình bày, ta định nghĩa số hàng số sau: ♦d e f i n e LH - //Cây trái cao td e fin e EH - //Hai td e fin e RH //Cây phải cao hon 4.4 Cân lại AVL Ta khơng khảo sát tính cân nhị phân mà quan tâm đến khả cân xảy rakhi thêm hủy nút AVL Như vậy, cân bằng, độ lệch chiều cao Ta có khả sau: Tài liệu giảng dạy cấu trúc liệu giải thuật 142 > Trường hợp 1: T lệch bên trái (có khả năng) Hình 6-21 Cây bị lệch trái > Trường hợp 2: T lệch bên phải Ta có khả sau: Tài liệu giảng dạy cấu trúc liệu giải thuật 143 Ta thấy trường hợp lệch bên phải hoàn toàn đối xứng với trường hợp lệch bên trái Vì ta cần khảo sát trường hợp lệch bên trái Trong trường hợp lệch bên trái, trường họp TI lệch phải phức tạp Các trường họp lại giải đơn giản Sau đây, ta khảo sát giải trường hợp nêu T/h 1.1: TT lệch bên trái Ta thực phép quay đơn Left-Left Hình 6-23 Cân lại trường họp T/h 1.2: TI không lệch Ta thực phép quay đơn Left-Left Tài liệu giảng dạy cấu trúc liệu giải thuật 144 Hình 6-24 Cân lại trường họp T/h 1.3: TI lệch bên phải Ta thực phép quay kép Left-Right Do TI lệch bên phải ta áp dụng phép quay đon áp dụng trường hợp T chuyển từ trạng thái cân lệch trái thành cân lệch phải => cần áp dụng cách khác Hình vẽ minh họa phép quay kép áp dụng cho trường hợp này: Hình 6-25 Cân lại trường họp Lưu ý rằng, trước cân T có chiều cao h+2 trường hợp 1.1, 1.2 1.3 Sau cân bằng, trường hợp 1.1 1.3 có chiều cao Tài liệu giảng dạy cấu trúc liệu giải thuật 145 h+1; trường hợp 1.2 có chiều cao h+2 Và trường hợp trường hợp sau cân nút T cũ có số cân 5* Thao tác cân lại tất trường hợp cóù độ phức tạp 0(1) Với xem xét trên, xét tưcmg tự cho trường hợp T lệch bên phải, ta xây dựng hàm quay đơn hàm quay kép sau: //quay đơn Left-Left v o i d r o t a t e L L ( A V L T r e e &T) { AVLNode* TI = T - > p L e f t ; T->pLeft = T l-> pR ight; T l-> p R ig h t = T; sw itch(T l-> balF actor) { c a s e LH: T - > b a l F a c t o r = EH; T I - > b a l F a c t o r = EH; b r e a k ; c a s e EH: T - > b a l F a c t o r = LH; T l - > b a l F a c t o r = RH; b r e a k ; } T = Tl; } //quay đơn Right-Right v o i d r o t a t e R R ( A V L T r e e &T) { AVLNode* TI = T - > p R i g h t ; T->pR ight = T I - > p L e f t; T l - > p L e f t = T; Tài liệu giảng dạy cấu trúc liệu giải thuật 146 sw itch(T l-> balF actor) { c a s e RH: T ~ > b a l F a c t o r = EH; T l - > b a l F a c t o r = EH break; c a s e EH: T - > b a l F a c t o r = RH; b r e a k ; T l - > b a l F a c t o r = LH break; } T = ri; } //quay kép Left-Right v o i d r o t a t e L R ( A V L T r e e &T) { AVLNode* T1 = T - > p L e f t ; AVLNode* T2 = T l - > p R i g h t ; T -> pL eft = T2->pR ight; T - > p R i g h t = T; T l-> p R ig h t = T 2-> pL eft; T2->pL eft = Tl; sw itch(T 2-> balF actor) { c a s e LH: T - > b a l F a c t o r = RH; T l - > b a l F a c t o r = EH; b r e a k ; c a s e EH: T - > b a l F a c t o r = EH; T l - > b a l F a c t o r = EH; b r e a k ; c a s e RH: T - > b a l F a c t o r = EH; T l - > b a l F a c t o r = LH; b r e a k ; Tài liệu giảng dạy cấu trúc liệu giải thuật 147 } T - > b a l F a c t o r = EH; T = T2; } //quay kép Right-Lì v o i d r o t a t e R L ( A V L T r e e &T) { AVLNode* TI = T - > p R i g h t ; AVLNode* T2 = T l - > p L e f t ; T->pR ight = T 2-> pL eft; T - > p L e f t = T; T l-> p L e ft = T2->pR ight; T2->pR ight = T l; sw itch(T 2-> balF actor) { c a s e RH: T - > b a l F a c t o r = LH; T l - > b a l F a c t o r = EH; b r e a k ; c a s e EH: T - > b a l F a c t o r = EH; T l - > b a l F a c t o r = EH; b r e a k ; c a s e LH: T - > b a l F a c t o r = EH; T l - > b a l F a c t o r = RH; b r e a k ; } T - > b a l F a c t o r = EH; T = T2; Tài liệu giảng dạy cấu trúc liệu giải thuật 148 Đe thuận tiện, ta xây dựng hàm cân bàng lại bị lệch trái hay lệch phải sau: //Cân băng bị lêch bên trái in t b a l a n c e L e f t (A V L T r ee &T) { AVLNode* T I = T - > p L e f t ; s w itc h (T l-> b alF acto r) { case L H : r o t a t e L L (T ) ; r e t u r n 2; case EH: r o t a t e L L (T ) ; r e t u r n 1; case R H : rotateLR(T); return 2; } retu rn 0; } //Càn băng bị lêch bên phải in t b alanceR ight(A V L T ree &T) { AVLNode* T I = T - > p R i g h t ; s w itc h (T l-> b alF acto r) case { LH: ro tateR L (T ); retu rn 2; c a s e EH: rotateR R (T ); retu rn 1; c a s e RH: rotateR R (T ); retu rn 2; } retu rn 0; Tài liệu giảng dạy cấu trúc liệu giải thuật 149 TỎNG KÉT CHƯƠNG Sau học xong chưcmg cần nhớ: - Một số mơ hình thực tế tổ chức dạng cây: mơ hình mơ tả cấu tổ chức công ty, cấu trúc thư mục tập tin, cấu trúc thư viện sách, - Các mơ hình thực tế muốn cài đặt vào máy tính người ta phải đưa dạng nhị phân nhị phân có cấu trúc định không thay đổi tổng quát - Cây nhi phân mà mồi nút cha có tối đa hai Cây nhị phân tìm kiểm nhị phân, mồi nút nút trái nhỏ nút cha nút phải lớn bàng nút cha Cây nhị phân tìm kiếm cân nhị phân tìm kiếm thõa mãn điều kiện với nút có độ lệch nhánh trái phải chúng không - Đổ duyệt người ta sử dụng ba cách duyệt: Left -N ode -Right, Node Left - Right, Left - Right -Node - Khi có nhu cầu thêm, xóa nút nhị phân tìm kiếm cân làm cho bị cân Với trường hợp sử dụng quy tắc quay đơn, quay kép để cân lại CẢU HỎI VẢ BẢI TÁP Trình bày khái niệm cây, nhị phân, nhị phân tìm kiếm nhị phân cân Trình bày cấu trúc liệu node nhị phân Trình bày cấu trúc liệu node nhị phân tìm kiểm căng Cho tổng quát biểu diễn sơ đồ tổ chức công ty sau: Hãy biểu diễn thành nhị phân để cài đặt máy tính Tài liệu giảng dạy cấu trúc liệu giải thuật 150 Cho nhị phân tìm kiếm sau: Cho biết kết phép duyệt theo thứ tự NLR, LRN, LNR Cho biết kết sau thêm nút có key = 55 vào Cho nhị phân tìm kiếm sau: Tài liệu giảng dạy cấu trúc liệu giải thuật 151 Hãy vẽ trường hợp sau: a Sau xóa nút có key = 108 b Sau xóa nút có key = 71 c Sau xóa nút có key = 37 Cho nhị phân tìm kiếm cân sau: a Thêm vào nút có khóa key = 25 Tài liệu giảng dạy cấu trúc liệu giải thuật 152 b Thêm vào nút có khóa key = Sau thêm vào có bị cân khơng? Tại sao? Neu có cân lại c Thêm vào nút có khóa key = 52 Sau thêm vào có bị cân khơng? Tại sao? Nếu có cân lại Tài liệu giảng dạy cấu trúc liệu giải thuật 153 TẢĨ LIÊU THAM KHẢO Nguyễn Đình Hóa, cấu trúc liệu giải thuật, Nhà xuất Đại học Quốc gia Hà Nội 2008 Lê Hoài Bắc Nguyễn Thanh Nghị, Kỹ lập trình, NXB KHKT 2005 Trần Hồng Thọ, Giáo trình Kỹ thuật Lập trình Nâng cao, ĐH Đà Lạt 2002 Dương Anh Đức Trần Hạnh Nhi, Nhập mơn cấu trúc dừ liệu thuật tốn, ĐH KHTN 2000 Lê Minh Hồng, Giải thuật lập trình, NXB ĐH Sư Phạm HN, 1999- 2002 Đinh Mạnh Tường, cấu trúc liệu thuật toán, Nhà xuất Khoa học kỹ thuật 2000 Tài liệu giảng dạy cấu trúc liệu giải thuật 154 ... đặt thuật tốn ngôn ngừ cụ thể 1.1.3 Mối quan hệ cấu trúc liệu giải thuật Mối quan hệ cấu trúc liệu giải thuật minh họa đẳng thức: Cấu trúc liệu + Giải thuật = Chương trình Như vậy, có cấu trúc liệu. .. Tài liệu giảng dạy CÁU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Chủ nhiệm đề tài: Nguyễn Thị Vân Thủ Đức, tháng năm 2014 Tài liệu giảng dạy cấu trúc liệu giải thuật T X • f • Ậ L ị i nói đâu Học phần Cấu trúc. .. cấu trúc liệu M ột chương trình máy tính chi hồn thiện có đầy đủ cấu trúc liệu để lưu trữ liệu giải thuật xử lý liệu theo yêu cầu tốn đặt 1.2 n ê u chí đánh giá cấu trúc liệu Để đánh giá cấu trúc

Ngày đăng: 11/10/2022, 23:24

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w