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

cau truc du lieu 0054

7 3 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 293,45 KB

Nội dung

NGUYỄN VĂN LINH TRẦN CAO ĐỆ TRƯƠNG THỊ THANH TUYỀN LÂM HỒI BẢO PHAN HUY CƯỜNG TRẦN NGÂN BÌNH CẤU TRÚC DỮ LIỆU Trang Cấu trúc liệu Lời nói đầu ĐẠI HỌC CẦN THƠ – 12/2003 LỜI NĨI ĐẦU Để đáp ứng nhu cầu học tập bạn sinh viên, sinh viên chuyên ngành tin học, Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ tiến hành biên soạn giáo trình, giảng chương trình học Giáo trình môn Cấu Trúc Dữ Liệu biên soạn dựa "Data Structures and Algorithms" Alfred V Aho, John E Hopcroft Jeffrey D Ullman Addison-Wesley tái năm 1987 Giáo trình biên soạn dựa kinh nghiệm giảng dạy nhiều năm môn Cấu Trúc Dữ Liệu Giải Thuật Tài liệu soạn theo đề cương chi tiết môn Cấu Trúc Dữ Liệu sinh viên chuyên ngành tin học Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ Mục tiêu nhằm giúp bạn sinh viên chuyên ngành có tài liệu cô đọng dùng làm tài liệu học tập, chúng tơi khơng loại trừ tồn đối tượng khác tham khảo Chúng nghĩ bạn sinh viên không chuyên tin người quan tâm tới cấu trúc liệu giải thuật tìm điều hữu ích Mặc dù cố gắng nhiều trình biên soạn giáo trình chắn giáo trình cịn nhiều thiếu sót hạn chế Rất mong nhận đóng góp ý kiến quý báu sinh viên bạn đọc để giáo trình ngày hồn thiện Cần thơ, ngày 10 tháng 11 năm 2003 Các tác giả Trần Cao Đệ Nguyễn Văn Linh Trương Thị Thanh Tuyền Lâm Hồi Bảo Phan Huy Cường Trần Ngân Bình Trang Cấu trúc liệu Mục lục MỤC LỤC CHƯƠNG I MỞ ĐẦU U I TỪ BÀI TỐN ĐẾN CHƯƠNG TRÌNH Mơ hình hóa toán thực tế Giải thuật (algorithms) .12 Ngôn ngữ giả tinh chế bước (Pseudo-language and stepwise refinement) 15 Tóm tắt 17 II KIỂU DỮ LIỆU TRỪU TƯỢNG (ABSTRACT DATA TYPE) 18 Khái niệm trừu tượng hóa 18 Trừu tượng hóa chương trình .18 Trừu tượng hóa liệu .19 III KIỂU DỮ LIỆU - CẤU TRÚC DỮ LIỆU VÀ KIỂU DỮ LIỆU TRỪU TƯỢNG (DATA TYPES, DATA STRUCTURES, ABSTRACT DATA TYPES) 20 CHƯƠNG II CÁC KIỂU DỮ LIỆU TRỪU TƯỢNG CƠ BẢN .22 (BASIC ABSTRACT DATA TYPES) 22 I KIỂU DỮ LIỆU TRỪU TƯỢNG DANH SÁCH (LIST) 24 Khái niệm danh sách 24 Các phép toán danh sách .24 Cài đặt danh sách 26 NGĂN XẾP (STACK) .43 Định nghĩa ngăn xếp 43 Các phép toán ngăn xếp 44 Cài đặt ngăn xếp 45 Ứng dụng ngăn xếp để loại bỏ đệ qui chương trình 48 III HÀNG ĐỢI (QUEUE) 53 Định Nghĩa 53 Các phép toán hàng 53 Cài đặt hàng 53 Một số ứng dụng cấu trúc hàng 62 IV DANH SÁCH LIÊN KẾT KÉP (double - lists) 62 II BÀI TẬP 68 CHƯƠNG III CẤU TRÚC CÂY (TREES) .73 I II III CÁC THUẬT NGỮ CƠ BẢN TRÊN CÂY .74 Định nghĩa 74 Thứ tự nút 75 Các thứ tự duyệt quan trọng .75 Cây có nhãn biểu thức 76 KIỂU DỮ LIỆU TRỪU TƯỢNG CÂY 78 CÀI ĐẶT CÂY 79 Cài đặt mảng .79 Trang Cấu trúc liệu Mục lục Biểu diễn danh sách .85 Biểu diễn theo trái anh em ruột phải: 86 Cài đặt trỏ .87 IV CÂY NHỊ PHÂN (BINARY TREES) 87 Định nghĩa 87 Duyệt nhị phân 88 Cài đặt nhị phân 89 V CÂY TÌM KIẾM NHỊ PHÂN (BINARY SEARCH TREES) .92 Định nghĩa 92 Cài đặt tìm kiếm nhị phân 93 BÀI TẬP 100 CHƯƠNG IV I TẬP HỢP 103 KHÁI NIỆM TẬP HỢP .104 II KIỂU DỮ LIỆU TRỪU TƯỢNG TẬP HỢP 104 III CÀI ĐẶT TẬP HỢP 105 Cài đặt tập hợp vector Bit 105 Cài đặt danh sách liên kết 107 IV TỪ ĐIỂN (dictionary) .111 Cài đặt từ điển mảng 111 Cài đặt từ điển bảng băm 113 Các phương pháp xác định hàm băm .122 V HÀNG ƯU TIÊN (priority queue) 123 Khái niệm hàng ưu tiên 123 Cài đặt hàng ưu tiên 124 BÀI TẬP 131 CHƯƠNG V ĐỒ THỊ (GRAPH) .133 I CÁC ĐỊNH NGHĨA 134 II KIỂU DỮ LIỆU TRỪU TƯỢNG ĐỒ THỊ 135 III BIỂU DIỄN ĐỒ THỊ 136 Biểu diễn đồ thị ma trận kề 136 Biểu diễn đồ thị danh sách đỉnh kề: 138 IV CÁC PHÉP DUYỆT ĐỒ THỊ (traversals of graph) .138 Duyệt theo chiều sâu (depth-first search) 139 Duyệt theo chiều rộng (breadth-first search) 140 V MỘT SỐ BÀI TOÁN TRÊN ĐỒ THỊ 143 Bài tốn tìm đuờng ngắn từ đỉnh đồ thị (the single source shorted path problem) 143 Tìm đường ngắn tất cặp đỉnh 145 Bài tốn tìm bao đóng chuyển tiếp (transitive closure) 146 Trang Cấu trúc liệu Mục lục Bài tốn tìm bao trùm tối thiểu (minimum-cost spanning tree) .147 BÀI TẬP 150 Trang Cấu trúc liệu Chương V: Đồ thị BÀI TẬP Viết biểu diễn đồ thị V.8 bằng: - Ma trận kề - Danh sách đỉnh kề Duyệt đồ thị hình V.8 (xét đỉnh theo thứ tự a,b,c ) - Theo chiều rộng a - Theo chiều sâu f Áp dụng giải thuật Dijkstra cho đồ thị hình V.8, với đỉnh nguồn a Viết biểu diễn đồ thị V.9 bằng: Ma trận kề Danh sách đỉnh kề Duyệt đồ thị hình V.9 (xét đỉnh theo thứ tự A,B,C ) Theo chiều rộng A Theo chiều sâu B Áp dụng giải thuật Dijkstra cho đồ thị hình V.9, với đỉnh nguồn A Tìm bao trùm tối thiểu đồ thị hình V.9 Giải thuật Prim Giải thuật Kruskal Cài đặt đồ thị có hướng ma trận kề viết giải thuật: Duyệt theo chiều rộng Duyệt theo chiều sâu Tìm đường ngắn từ đỉnh cho trước (Dijkstra) Tìm đường ngắn tất cặp đỉnh (Floyd) Cài đặt đồ thị có hướng danh sách đỉnh kề viết giải thuật: Duyệt theo chiều rộng Trang 150 Cấu trúc liệu Chương V: Đồ thị Duyệt theo chiều sâu 10 Cài đặt đồ thị vô hướng ma trận kề viết giải thuật: Duyệt theo chiều rộng Duyệt theo chiều sâu Tìm đường ngắn từ đỉnh cho trước (Dijkstra) Tìm đường ngắn tất cặp đỉnh (Floyd) Tìm bao trùm tối thiểu (Prim, Kruskal) Cài đặt thuật tốn Greedy cho tốn tơ màu đồ thị (Gợi ý: xem giải thuật chương 1) 11 Cài đặt đồ thị vô hướng danh sách đỉnh kề viết giải thuật: Duyệt theo chiều rộng Duyệt theo chiều sâu 12 Hãy viết chương trình, đó, cài đặt đồ thị vơ hướng cấu trúc ma trận kề viết thủ tục/hàm sau: Nhập toạ độ n đỉnh đồ thị Giả sử đồ thị đầy đủ, tức hai đỉnh có cạnh nối, giả sử giá cạnh độ dài đoạn thẳng nối hai cạnh Hãy tìm: Đường ngắn từ đỉnh cho trước (Dijkstra) Đường ngắn tất cặp đỉnh (Floyd) Cây bao trùm tối thiểu (Prim, Kruskal) Thể đồ thị lên hình đồ hoạ, cạnh thuộc bao trùm tối thiểu vẽ màu khác với cạnh khác Trang 151 ... thị danh sách đỉnh kề: 138 IV CÁC PHÉP DUYỆT ĐỒ THỊ (traversals of graph) .138 Duyệt theo chiều sâu (depth-first search) 139 Duyệt theo chiều rộng (breadth-first search)... thuật: Duyệt theo chiều rộng Duyệt theo chiều sâu Tìm đường ngắn từ đỉnh cho trước (Dijkstra) Tìm đường ngắn tất cặp đỉnh (Floyd) Cài đặt đồ thị có hướng danh sách đỉnh kề viết giải thuật: Duyệt... rộng Trang 150 Cấu trúc liệu Chương V: Đồ thị Duyệt theo chiều sâu 10 Cài đặt đồ thị vô hướng ma trận kề viết giải thuật: Duyệt theo chiều rộng Duyệt theo chiều sâu Tìm đường ngắn từ đỉnh cho

Ngày đăng: 03/12/2022, 21:38

HÌNH ẢNH LIÊN QUAN

2. Duyệt đồ thị hình V.8 (xét các đỉnh theo thứ tự a,b,c...) - Theo chiều rộng bắt đầu từ a - cau truc du lieu 0054
2. Duyệt đồ thị hình V.8 (xét các đỉnh theo thứ tự a,b,c...) - Theo chiều rộng bắt đầu từ a (Trang 6)
3. Áp dụng giải thuật Dijkstra cho đồ thị hình V.8, với đỉnh nguồn là - cau truc du lieu 0054
3. Áp dụng giải thuật Dijkstra cho đồ thị hình V.8, với đỉnh nguồn là (Trang 6)

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

TÀI LIỆU LIÊN QUAN