- Khái niệm đồ thị có hướng:
Đồ thị có hướng G = <V, E> bao gồm: (1) V là một tập hữu hạn các đỉnh.
(2) E là một tập hữu hạn, có thứ tự các cặp đỉnh của V, gọi là các cạnh. - Khái niệm đồ thị vô hướng:
Đồ thị vô hướng G = <V, E> bao gồm: (1) V là một tập hữu hạn các đỉnh.
(2) E là một tập hữu hạn các cặp đỉnh phân biệt của V, gọi là các cạnh. - Đồ thị có thểđược biểu diễn bằng ma trận kề hoặc danh sách kề.
- Đồ thị biểu diễn bằng ma trận kề A có tính chất: Phần tửở hàng i, cột j của ma trận A có giá trị 1 khi có một cạnh nối từ vi đến vj. Ngược lại, phần tử đó có giá trị 0.
- Biểu diễn đồ thị bằng danh sách kề: Sử dụng một danh sách liên kết cho mỗi đỉnh của đồ thị. Danh sách liên kết của một đỉnh sẽ chứa các đỉnh khác kề với nó
- Duyệt theo chiều sâu bắt đầu từ một đỉnh nào đó của đồ thị. Sau khi thăm đỉnh này, quá trình duyệt theo chiều sâu được lặp lại với tất cả các đỉnh kề của nó.
- Duyệt theo chiều rộng cũng bắt đầu từ một đỉnh nào đó của đồ thị. Tiếp đến, các đỉnh kề của nó sẽ được thăm, rồi tiếp tục đến các đỉnh kề của các đỉnh vừa thăm .v.v.
6.5CÂU HỎI VÀ BÀI TẬP
1. Cho biết biểu diễn bằng ma trận kề và danh sách kề của đồ thị bên dưới:
2. Cho biết ma trận kề của đồ thị trọng số sau:
3. Với đồ thị câu 1, cho biết trình tự thăm các đỉnh khi thực hiện duyệt theo chiều sâu bắt đầu từđỉnh a.
4. Với đồ thị câu 2, cho biết trình tự thăm các đỉnh khi thực hiện duyệt theo chiều rộng bắt đầu từđỉnh a.
5. Cho biết số thành phần liên thông của đồ thị bên dưới. 2 9 4 7 a b c d e 5 b a d c a b c d e
HỌC VIỆN CÔNG NGHỆBƯU CHÍNH VIỄN THÔNG
------
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
CẤU TRÚC DỮ LIỆU
VÀ GIẢI THUẬT
NGUYỄN DUY PHƯƠNG
CHƯƠNG 7
SẮP XẾP VÀ TÌM KIẾM
Sắp xếp và tìm kiếm là các vấn đề rất cơ bản trong tin học cũng như trong thực tiễn. Chương 7 giới thiệu các phương pháp sắp xếp và tìm kiếm thông dụng nhất, bao gồm các giải thuật từđơn giản
đến phức tạp.
Đối với các giải thuật sắp xếp, các phương pháp sắp xếp đơn giản được trình bày bao gồm: sắp xếp chọn, sắp xếp chèn, sắp xếp nổi bọt. Các phương pháp sắp xếp phức tạp và hiệu quả hơn được xem xét là giải thuật sắp xếp nhanh (quick sort), sắp xếp vun đống (heap sort) và sắp xếp trộn (merge sort). Với mỗi phương pháp sắp xếp, ngoài việc trình bày các bước thực hiện thuật toán, độ phức tạp của giải thuật cũng được tính toán và đánh giá.
Đối với các phương pháp tìm kiếm, ngoài phương pháp tìm kiếm tuần tựđơn giản, các phương pháp tìm kiếm phức tạp và hiệu quả hơn cũng được xem xét là tìm kiếm nhị phân và tìm kiếm bằng cây nhị phân tìm kiếm.
Để học tốt chương này, sinh viên cần nghiên cứu kỹ các bước thực hiện các thuật toán và lấy ví dụ cụ thể, sau đó thực hiện từng bước trên ví dụ.