Chúng tôi sử dụng cookie để đảm bảo bạn có trải nghiệm duyệt tốt nhất trên trang web của chúng tôi. Bằng cách sử dụng trang web của chúng tôi, bạn thừa nhận rằng bạn đã đọc và hiểu chính sách và chính sách bảo mật cookie của chúng tôi
Bắt đầu hành trình mã hóa của bạn ngay bây giờ!
Việc sử dụng đồ thị trong cấu trúc dữ liệu là gì?V ] and a set of edges[ E ]. The graph is denoted by G[E, V].
Các thành phần của đồ thị
- Các đỉnh: đỉnh là đơn vị cơ bản của biểu đồ. Đôi khi, các đỉnh còn được gọi là đỉnh hoặc nút. Mỗi nút/đỉnh có thể được dán nhãn hoặc không ghi nhãn. Vertices are the fundamental units of the graph. Sometimes, vertices are also known as vertex or nodes. Every node/vertex can be labeled or unlabelled.
- Các cạnh: Các cạnh được vẽ hoặc sử dụng để kết nối hai nút của đồ thị. Nó có thể được đặt hàng cặp nút trong một biểu đồ có hướng. Các cạnh có thể kết nối bất kỳ hai nút theo bất kỳ cách nào có thể. Không có quy định. Đôi khi, các cạnh còn được gọi là cung. Mỗi cạnh có thể được dán nhãn/không ghi nhãn. Edges are drawn or used to connect two nodes of the graph. It can be ordered pair of nodes in a directed graph. Edges can connect any two nodes in any possible way. There are no rules. Sometimes, edges are also known as arcs. Every edge can be labeled/unlabelled.
Các loại đồ thị
1. Đồ thị null
Một biểu đồ được gọi là biểu đồ null nếu không có các cạnh trong biểu đồ.
2. Đồ thị tầm thường
Biểu đồ chỉ có một đỉnh duy nhất, nó cũng là biểu đồ nhỏ nhất có thể.
3. Đồ thị không mong muốn
Một biểu đồ trong đó các cạnh không có bất kỳ hướng nào. Đó là các nút là các cặp không có thứ tự trong định nghĩa của mọi cạnh. & NBSP;
4. Đồ thị được định hướng
Một biểu đồ trong đó cạnh có hướng. Đó là các nút được đặt hàng các cặp trong định nghĩa của mọi cạnh.
5. Đồ thị được kết nối
Biểu đồ trong đó từ một nút chúng ta có thể truy cập bất kỳ nút nào khác trong biểu đồ được gọi là biểu đồ được kết nối. & NBSP;
6. Đồ thị bị ngắt kết nối
Biểu đồ trong đó ít nhất một nút không thể truy cập được từ một nút được gọi là biểu đồ bị ngắt kết nối.
7. Đồ thị thông thường
Biểu đồ trong đó mức độ của mỗi đỉnh bằng với các đỉnh khác của đồ thị. Đặt mức độ của mỗi đỉnh là k sau đó là biểu đồK then the graph
8. Hoàn thành đồ thị
Biểu đồ trong đó từ mỗi nút có một cạnh với nút khác.
.
9. Đồ thị chu kỳ
Biểu đồ trong đó biểu đồ là một chu kỳ trong chính nó, mức độ của mỗi đỉnh là 2. & nbsp;
10. Đồ thị theo chu kỳ
Một biểu đồ chứa ít nhất một chu kỳ được gọi là biểu đồ tuần hoàn.
11. Đồ thị Acyclic được định hướng
Một biểu đồ được định hướng không chứa bất kỳ chu kỳ nào. & Nbsp;
12. Biểu đồ bipartite
Một biểu đồ trong đó đỉnh có thể được chia thành hai bộ sao cho đỉnh trong mỗi bộ không chứa bất kỳ cạnh nào giữa chúng.
13. Đồ thị có trọng số
- & nbsp; Một biểu đồ trong đó các cạnh đã được chỉ định với trọng lượng phù hợp được gọi là biểu đồ có trọng số. & NBSP;A graph in which the edges are already specified with suitable weight is known as a weighted graph.
- & nbsp; đồ thị có trọng số có thể được phân loại thêm theo các biểu đồ có trọng số theo hướng và đồ thị có trọng số không mong muốn. & nbsp;
Biểu đồ cây v/s
Cây là các loại đồ thị bị hạn chế, chỉ với một số quy tắc hơn. Mỗi cây sẽ luôn là một biểu đồ nhưng không phải tất cả các biểu đồ sẽ là cây. Danh sách, cây và đống được liên kết đều là trường hợp đặc biệt của đồ thị. & NBSP;
Đại diện của đồ thị
Có hai cách để lưu trữ một biểu đồ:
- Ma trận kề
- Danh sách kề
Ma trận kề
Danh sách kề
Danh sách kề
Trong phương pháp này, biểu đồ được lưu trữ dưới dạng ma trận 2D trong đó các hàng và cột biểu thị các đỉnh. Mỗi mục trong ma trận đại diện cho trọng lượng của cạnh giữa các đỉnh đó. & Nbsp;
Biểu đồ này được thể hiện dưới dạng một bộ sưu tập các danh sách được liên kết. Có một mảng con trỏ trỏ đến các cạnh được kết nối với đỉnh đó. & NBSP;
So sánh giữa Ma trận liền kề và danh sách phụ thuộc
Trong phương pháp này, biểu đồ được lưu trữ dưới dạng ma trận 2D trong đó các hàng và cột biểu thị các đỉnh. Mỗi mục trong ma trận đại diện cho trọng lượng của cạnh giữa các đỉnh đó. & Nbsp; | Biểu đồ này được thể hiện dưới dạng một bộ sưu tập các danh sách được liên kết. Có một mảng con trỏ trỏ đến các cạnh được kết nối với đỉnh đó. & NBSP; | Biểu đồ này được thể hiện dưới dạng một bộ sưu tập các danh sách được liên kết. Có một mảng con trỏ trỏ đến các cạnh được kết nối với đỉnh đó. & NBSP; |
So sánh giữa Ma trận liền kề và danh sách phụ thuộc | Biểu đồ này được thể hiện dưới dạng một bộ sưu tập các danh sách được liên kết. Có một mảng con trỏ trỏ đến các cạnh được kết nối với đỉnh đó. & NBSP; | So sánh giữa Ma trận liền kề và danh sách phụ thuộc |
Khi biểu đồ chứa một số lượng lớn các cạnh thì thật tốt khi lưu trữ nó dưới dạng ma trận vì chỉ một số mục trong ma trận sẽ trống. Một thuật toán như Ma trận liền kề Prim và Dijkstra được sử dụng để có độ phức tạp ít hơn. | Hoạt động | So sánh giữa Ma trận liền kề và danh sách phụ thuộc |
Khi biểu đồ chứa một số lượng lớn các cạnh thì thật tốt khi lưu trữ nó dưới dạng ma trận vì chỉ một số mục trong ma trận sẽ trống. Một thuật toán như Ma trận liền kề Prim và Dijkstra được sử dụng để có độ phức tạp ít hơn.
Hoạt động
- Thêm cạnh
- O [1]
- Loại bỏ và cạnh
- TRÊN]
Khởi tạo
- O [n*n]
- Các hoạt động cơ bản trên đồ thị
- Dưới đây là các hoạt động cơ bản trên biểu đồ:
Chèn các nút/cạnh vào biểu đồ - chèn một nút vào biểu đồ.
Xóa các nút/cạnh trong biểu đồ - Xóa một nút khỏi biểu đồ.
Tìm kiếm trên biểu đồ - Tìm kiếm một thực thể trong biểu đồ.
- Truyền tải đồ thị - Đi qua tất cả các nút trong biểu đồ.
- Sử dụng đồ thị
- Bản đồ có thể được biểu diễn bằng cách sử dụng biểu đồ và sau đó có thể được sử dụng bởi các máy tính để cung cấp các dịch vụ khác nhau như đường dẫn ngắn nhất giữa hai thành phố.