... dung môn học Chương 1: Giới thiệu tổng quan Chương 3: Cấutrúc lưu trữ Chương 04: Cấutrúcliệu động Chương 05: Bảng băm Chương 06: Cấutrúc 02/21/14 Chương 2: Các cấutrúcliệuChương 07: Đồ ... Cường Hoàng Đức Hải, Cấutrúcliệu + Giải Thuật = Chương Trình, NXB Giáo Dục, 1995 Đinh Mạnh Tường, Cấutrúcliệu giải thuật, NXB Giáo dục, 1998 Nguyễn Trung Trực, Cấutrúc liệu, ĐH Kỹ thuật, 1995 ... lập trình Mục tiêu Cung cấp kiến thức • Các cấutrúc lưu trữ liệu • Các thuật tốn xử lý 02/21/14 Thông tin môn học Tài liệu tham khảo Trần Hạnh Nhi Dương Anh Đức, Giáo TrìnhCấuTrúcDữ Liệu, ...
... ng minh b ng l p lu n ph n đ : G có chu trình c nh ng c G i v đ nh chu trình đ c th m đ u tiên, u đ nh tr c v chu trình Khi v đ c th m, đ nh khác chu trình đ u đ nh tr ng.Ta ph i th m đ c t ... Ngh a - B môn KHMT 77 HBKHN th khơng ch a chu trình • Bài tốn: Cho đ th G=(V,E) H i G có ch a chu trình hay khơng • M nh đ th G khơng ch a chu trình ch DFS th c hi n đ i v i G không phát hi ... ) N u G khơng ch a chu trình khơng th có c nh ng b i s t n t i c nh ng c kéo theo s t n t i chu trình c Hi n nhiên: ) Ta ph i ch ng minh: N u khơng có c nh ng c G chu trình Ta ch ng minh b ng...
... (n3) • Trong đ ng th c, (f(n)) thay th cho m t hàm g(n) (f(n)) – Trong ví d trên, (n2) thay th cho 3n2 + 2n + C u trúc d li u thu t toán - N Ngh a B môn KHMT th c a m t s hàm c b n C u trúc ... ng ngơn ng đ i th ng v a s d ng nh ng c u trúc l nh t ng t nh c a ngôn ng l p trình • D i ta li t kê m t s câu l nh đ giáo trình đ mơ t thu t tốn C u trúc d li u thu t toán - N Ngh a B môn KHMT ... – C u trúc d li u: • Cách t ch c l u tr d li u vào - C u trúc d li u thu t toán - N Ngh a B mơn KHMT Vòng đ i c a ph n m m The Life Cycle of Software • Vòng đ i c a ph n m m – Là m t trình dài...
... c a – – C u trúc d li u thu t toán - NGUY N C NGH A, B môn KHMT, HBK Hà N i qui: i m quân C u trúc d li u thu t toán - NGUY N C NGH A, B môn KHMT, HBK Hà N i qui: i m quân C u trúc d li u thu ... qui: i m quân C u trúc d li u thu t tốn - NGUY N C NGH A, B mơn KHMT, HBK Hà N i qui: i m quân C u trúc d li u thu t toán - NGUY N C NGH A, B môn KHMT, HBK Hà N i qui: i m quân C u trúc d li u thu ... m quân C u trúc d li u thu t toán - NGUY N C NGH A, B môn KHMT, HBK Hà N i 10 qui: i m quân C u trúc d li u thu t toán - NGUY N C NGH A, B môn KHMT, HBK Hà N i 11 qui: i m quân C u trúc d li u...
... B môn KHMT – HBK Hà n i Chap02-18 Phân lo i c u trúc d li u • Trong nhi u tài li u v CTDL th phân lo i c u trúc d li u sau đây: ng s d ng C u trúc d li u c s (Base data structures) Ví d : Pascal: ... vào ngơn ng l p trình Ki u d li u tr u t ng mơ hình tốn h c v i nh ng phép tốn xác đ nh mơ hình Nó không ph thu c vào ngôn ng l p trình bi u di n mơ hình tốn h c ADT ta s d ng c u trúc d li u CTDL ... u trúc d li u (Data Structures) • C u trúc d li u (Data Structures) m t h bi n, có th có ki u d li u khác nhau, đ c liên k t l i theo m t cách th c • Vi c cài đ t ADT đòi h i l a ch n c u trúc...
... lý hành Cây th m c C u trúc c a m t quy n sách Cây bi u th c Cây phân ho ch t p h p 1/28/2013 C U TRÚC D NGUY N LI U VÀ THU T TỐN C NGH A - B mơn KHMT Cây l ch thi đ u Trong i th ng r t hay c ... node C U TRÚC D NGUY N LI U VÀ THU T TOÁN 1/28/2013 C NGH A - B môn KHMT 19 Thu t ng cha parent child C U TRÚC D NGUY N LI U VÀ THU T TOÁN C NGH A - B môn KHMT 1/28/2013 20 Thu t ng cha C U TRÚC ... U TRÚC D NGUY N LI U VÀ THU T TỐN C NGH A - B mơn KHMT - leaf 1/28/2013 22 Thu t ng - subtree C U TRÚC D NGUY N LI U VÀ THU T TỐN C NGH A - B mơn KHMT 1/28/2013 23 1/28/2013 24 Thu t ng C U TRÚC...
... ví d minh ho cho giáo trình nh p mơn l p trình • B t đ u t đ u dãy, thu t toán ti n hành so sánh m i ph n t v i ph n t sau th c hi n đ i ch , n u chúng không theo th t Quá trình s đ c l p l i ... ng • Vi c s p x p theo khố b ng khố khơng làm thay đ i b ng chính, nh ng trình t b n ghi b ng khoá cho phép xác đ nh trình t b n ghi b ng NGUY N C NGH A B môn KHMT - HBKHN 5.1.1 Bài tốn s p x ... (Science and engineering); – Các thu t toán l p l ch (Scheduling algorithms), • ví d thi t k ch ng trình d ch, truy n thơng, (compiler design, telecommunication); – Máy tìm ki m web (Web search...
... nh phân tìm ki m 6.2.3 Các phép tốn Nguy n c Ngh a - B môn KHMT HBKHN 16 tv nđ Ta xây d ng c u trúc đ bi u di n t p bi n đ ng (dynamic sets) Các ph n t có khố (key) thông tin kèm (satellite ... operations) nh : Insert(S, x): B sung (Chèn) Delete(S, x): Lo i b (Xố) Cây nh phân tìm ki m c u trúc d li u quan tr ng đ bi u di n t p đ ng, t t c thao tác đ u đ c th c hi n v i th i gian O(h), ... ki m 6.2.3 Các phép tốn Nguy n c Ngh a - B mơn KHMT 23 HBKHN 6.2.2 Bi u di n BST key S d ng c u trúc nh phân (Binary Tree Structure) left left right p left right p NULL left right NIL right p...
... NỘI DUNG MÔN HỌC CHƯƠNG I: TỔNG QUAN VỀ GT VÀ CTDL CHƯƠNG II: TÌM KIẾM VÀ SẮP XẾP CHƯƠNG III: CẤUTRÚCDỮLIỆU ĐỘNG CHƯƠNG IV: NGĂN XẾP VÀ HÀNG ĐỢI CHƯƠNG V: CẤUTRÚC CÂY CHƯƠNG VI: BẢNG ... double, enum, 20 KIỂU DỮLIỆU CÁC KIỂU DỮLIỆU CÓ CẤUTRÚC Là kiểu liệu người lập trình định nghĩa cách kết hợp kiểu liệu để biểu diễn liệu toán Các kiểu liệu gọi kiểu liệu trừu tượng (ADT - ... "; cin >> t; xuatTuoi(nhom, n, t); return 0; } 16 CẤUTRÚCDỮLIỆU Bài tập: Xây dựng cấutrúcliệu phù hợp để giải yêu cầu Ví dụ 17 CẤUTRÚCDỮLIỆU TIÊU CHUẨN ĐÁNH GIÁ - Phản ánh thực tế - Phù...
... thuật Merge Sort chưa tận dụng đặc điểm dãy cần xếp - Quá trình chia dãy trộn hai dãy cần thêm không gian nhớ nên cần áp dụng cho cấutrúcliệu thích hợp danh sách liên kết file 47 GIẢI THUẬT SẮP ... ràng buộc thời gian - Heap sort thích hợp với yêu cầu xếp thời gian giới hạn trường hợp - Đối với liệu nhỏ, nên sử dụng phương pháp xếp bản, ví dụ Selection Short (thậm chí Bubble Sort), vì: - Cài ... có thứ tự gồm phần tử, trộn tự nhiên xuất phát từ r dãy có thứ tự sẵn gọi đường chạy (run) Quá trình chia dãy phân phối luân phiên run thành dãy Ví dụ, dãy A = {1,3,2,5,4,6,7,8} có run {1,3},...
... a(i+1)*2 - Các nút i n/2 đỉnh heap phần tử Nhận xét: Heap cấutrúcliệu dạng Tuy nhiên lưu trữ dãy Vì thế, cấutrúcliệu khác với cấutrúc lưu trữ 39 GIẢI THUẬT SẮP XẾP PHƯƠNG PHÁP HEAP SORT * Cài ... trữ cấutrúc heap nhị phân Tính chất mảng heap nhị phân: - Phần tử thứ i cha hai phần tử i*2 + 1và (i+1)*2 Vì vậy, ai*2 + a(i+1)*2 - Các nút i n/2 đỉnh heap phần tử Nhận xét: Heap cấutrúc ... PHÁP HEAP SORT 5 37 GIẢI THUẬT SẮP XẾP PHƯƠNG PHÁP HEAP SORT * Lưu trữ cấutrúc heap nhị phân Heap nhị phân lưu trữ theo cấutrúc nhị phân Tuy nhiên, để tăng hiệu quả, dùng mảng chiều để lưu trữ...
... PHƯƠNG PHÁP SELECTION SORT Bài tập: Trình bày ý tưởng giải thuật để xếp dãy số nguyên theo thứ tự giảm dần theo phương pháp Chọn trực tiếp Áp dụng: trình bày bước trình xếp theo giải thuật nêu cho ... PHƯƠNG PHÁP INSERTION SORT Bài tập: Trình bày ý tưởng giải thuật để xếp dãy số nguyên theo thứ tự giảm dần theo phương pháp Chèn trực tiếp Áp dụng: trình bày bước trình xếp theo giải thuật nêu cho ... a[j - 1]; // dời chỗ a[k] = x; } } 38 GIẢI THUẬT SẮP XẾP BÀI TẬP 1) Định nghĩa cấutrúc HocSinh gồm có trường liệu: Họ tên, Năm sinh, Điểm tổng kết 2) Viết hàm xếp danh sách học sinh DS theo...
... b Ví dụ: a 1 b b GIẢI THUẬT TÌM KIẾM KHÁI NIỆM Khóa trường cấutrúc sử dụng để tính tốn q trình tìm kiếm xếp Ví dụ 1: giả sử có cấutrúc struct MayTinh { int maso; char tenmay[20]; int dongia; ... THUẬT TÌM KIẾM TÌM KIẾM TUYẾN TÍNH • Bài tập Giả sử liệu nhân viên công ty gồm: mã số nhân viên, họ tên, năm sinh, mức lương Xây dựng cấutrúcliệu biểu diễn danh sách nhân viên đưa giải thuật ... giải thuật tìm kiếm tuyến tính cho ví dụ - Đánh số thứ tự cho phần tử tập hợp cách đưa chúng vào cấutrúc mảng chiều 10 GIẢI THUẬT TÌM KIẾM TÌM KIẾM TUYẾN TÍNH i=0 i=2 x=5 x=5 x=5 i=1 i=3 x=5 11...
... CẤUTRÚCDỮLIỆU ĐỘNG ĐẶT VẤN ĐỀ KIỂU DỮLIỆU CON TRỎ DANH SÁCH LIÊN KẾT DANH SÁCH ĐƠN MỘT SỐ DẠNG DANH SÁCH LIÊN ... - Mỗi phần tử chứa liên kết đến phần tử đứng liền trước sau - Mỗi phần tử cấutrúc gồm thành phần: Thành phần liệu: chứa thông tin cần quản lý Hai thành phần liên kết: chứa địa phần tử ... pNext, * pPrev; }; struct TenDS { Node *pHead, *pTail; }; DANH SÁCH KÉP TỔ CHỨC Ví dụ: Tổ chức liệu cho danh sách hình tròn struct HinhTron{ double x, y, r; }; struct NodeHinhTron { HinhTron...
... CẤUTRÚCDỮLIỆU ĐỘNG ❖ĐẶT VẤN ĐỀ ❖KIỂU DỮLIỆU CON TRỎ ❖DANH SÁCH LIÊN KẾT ❖DANH SÁCH ĐƠN ❖MỘT SỐ DẠNG DANH SÁCH LIÊN ... CHỨC - Mỗi phần tử chứa liên kết đến phần tử đứng liền sau Mỗi phần tử cấutrúc gồm hai thành phần: Thành phần liệu: chứa thông tin cần quản lý Thành phần liên kết: chứa địa phần tử liền ... (!Equal(p->info, x)) p = p->pNext; return p; } 26 DANH SÁCH ĐƠN ❖CÁC THAO TÁC CƠ BẢN Bài tập 1: Viết chươngtrình cho phép nhập danh sách hình tròn khơng gian chiều nhập bán kính In hình hình tròn có...
... CẤUTRÚCDỮLIỆU ĐỘNG ❖ĐẶT VẤN ĐỀ ❖KIỂU DỮLIỆU CON TRỎ ❖DANH SÁCH LIÊN KẾT ❖DANH SÁCH ĐƠN ❖MỘT SỐ DẠNG DANH SÁCH LIÊN ... Lưu vết trình quay lui, vét cạn, tìm kiếm theo chiều sâu 28 MỘT SỐ DẠNG DANH SÁCH LIÊN KẾT KHÁC ❖QUEUE - HÀNG ĐỢI - Là cấutrúcliệu cho phép lưu phần tử chứa liệu khác - Phần tử chứa liệu quản ... MỘT SỐ DẠNG DANH SÁCH LIÊN KẾT KHÁC ❖STACK đỉnh stack - Là cấutrúcliệu cho phép lưu phần tử chứa liệu khác - Phần tử chứa liệu quản lý theo nguyên tắc LIFO (Last In First Out) phần tử đưa...
... CẤUTRÚCDỮLIỆU ĐỘNG ❖ĐẶT VẤN ĐỀ ❖KIỂU DỮLIỆU CON TRỎ ❖DANH SÁCH LIÊN KẾT ❖DANH SÁCH ĐƠN ❖MỘT SỐ DẠNG DANH SÁCH LIÊN KẾT KHÁC ĐẶT VẤN ĐỀ ❖QUẢN LÝ VÙNG NHỚ Vùng nhớ chươngtrình quản ... động 19 KIỂU DỮLIỆU CON TRỎ ❖CÁC THAO TÁC TRÊN KIỂU CON TRỎ Ví dụ: Viết chươngtrình nhập vào dãy số gồm n giá trị nguyên (n < 1000) in hình giá trị theo thứ tự tăng dần 20 KIỂU DỮLIỆU CON TRỎ ... định nghĩa kiểu có cấutrúc đệ quy khơng xác định kích thước Ví dụ: tổ chức liệu cho cây: struct Node { node int Key; node Node left, mid, right; node node }; node node KIỂU DỮLIỆU CON TRỎ ❖KHÁI...
... CẤUTRÚC CÂY ❖GIỚI THIỆU ❖CÂY NHỊ PHÂN ❖CÂY NHỊ PHÂN TÌM KIẾM ❖CÂY NHỊ PHÂN CÂN BẰNG GIỚI THIỆU ❖ĐỊNH NGHĨA CÂY - - Cây tập hợp phần tử, gọi node, liên kết với cạnh có hướng Trong đó: ... T - Gọi n số node T, h chiều cao T, có h log2(n + 1) 18 CÂY NHỊ PHÂN ❖TỔ CHỨC DỮLIỆU struct TenDulieu { // liệu quản lý }; struct Node { TenDulieu key; Node *pLeft, *pRight; }; typedef Node ... { p->key = x; p->pLeft = NULL; p->pRight = NULL;} return p; } 21 CÂY NHỊ PHÂN ❖VÍ DỤ - Viết chươngtrình tạo nhị phân sau: A B C D E F 22 CÂY NHỊ PHÂN struct Node { char key; Node *pLeft, *pRight;...