Cấu trúc dữ liệu đồ thị

Một đồ thị (Graph) là một dạng biểu diễn hình ảnh của một tập các đối tượng, trong đó các cặp đối tượng được kết nối bởi các link. Các đối tượng được nối liền nhau được biểu diễn bởi các điểm được gọi là các đỉnh (vertices), và các link mà kết nối các đỉnh với nhau được gọi là các cạnh (edges).

Nói chung, đồ thị là một cặp các tập hợp (V, E) , trong đó V là tập hợp các đỉnh và E là tập hợp các cạnh, kết nối các cặp đỉnh. Hãy nhìn vào biểu đồ sau:

Trong biểu đồ trên,

V = {a, b, c, d, e}

E = {ab, ac, bd, cd, de}

Cấu trúc dữ liệu đồ thị (Graph)

Các hình toán học có thể được biểu diễn trong cấu trúc dữ liệu. Chúng ta có thể biểu diễn một hình bởi sử dụng một mảng các đỉnh và một mảng hai chiều của các cạnh. Trước khi tiếp tục, chúng ta tìm hiểu một vài khái niệm quan trọng sau:

  • Đỉnh (Vertex): Mỗi nút của hình được biểu diễn như là một đỉnh. Trong ví dụ dưới đây, các hình tròn biểu diễn các đỉnh. Do đó, các điểm từ A tới G là các đỉnh. Chúng ta có thể biểu diễn các đỉnh này bởi sử dụng một mảng, trong đó đỉnh A có thể được nhận diện bởi chỉ mục 0, điểm B là chỉ mục 1, … như hình dưới.
  • Cạnh (Edge): Cạnh biểu diễn một đường nối hai đỉnh. Trong hình dưới, các đường nối A và B, B và C, … là các cạnh. Chúng ta có thể sử dụng một mảng hai chiều để biểu diễn các cạnh này. Trong ví dụ dưới, AB có thể được biểu diễn như là 1 tại hàng 0; BC là 1 tại hàng 1, cột 2, …
  • Kề nhau: Hai đỉnh là kề nhau nếu chúng được kết nối với nhau thông qua một cạnh. Trong hình dưới, B là kề với A; C là kề với B, …
  • Đường: Đường biểu diễn một dãy các cạnh giữa hai đỉnh. Trong hình dưới, ABCD biểu diễn một đường từ A tới D.

Các thao tác cơ bản trên cấu trúc dữ liệu đồ thị

Sau đây là các thao tác cơ bản:

  • Thêm đỉnh: Thêm một đỉnh vào trong đồ thị.
  • Thêm cạnh: Thêm một cạnh vào giữa hai đỉnh của một đồ thị.
  • Hiển thị đỉnh: Hiển thị một đỉnh của một đồ thị.

- Hiếu Kiều -