Hướng dẫn cấu trúc dữ liệu đồ thị python

Đồ thị trong cấu trúc dữ liệu là cấu trúc dữ liệu phi tuyến tính được tạo thành từ một số lượng hữu hạn các nút hoặc đỉnh và các cạnh kết nối chúng. Đồ thị trong cấu trúc dữ liệu được sử dụng để giải quyết các vấn đề trong thế giới thực, trong đó nó biểu thị vùng vấn đề dưới dạng mạng như mạng điện thoại, mạng mạch và mạng xã hội. Ví dụ: nó có thể biểu thị một người dùng đơn lẻ dưới dạng các nút hoặc đỉnh trong mạng điện thoại, trong khi liên kết giữa chúng qua điện thoại biểu thị các cạnh

Show

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Hướng dẫn cấu trúc dữ liệu đồ thị python

Đồ thị trong cấu trúc dữ liệu là gì?

Biểu đồ là một loại cấu trúc dữ liệu phi tuyến tính được tạo thành từ các nút hoặc đỉnh và cạnh. Các cạnh kết nối hai nút bất kỳ trong biểu đồ và các nút còn được gọi là đỉnh

Hướng dẫn cấu trúc dữ liệu đồ thị python

Đồ thị này có tập đỉnh V= { 1,2,3,4,5} và tập cạnh E= { (1,2),(1,3),(2,3),(2,4

Bây giờ bạn đã học về định nghĩa của biểu đồ trong cấu trúc dữ liệu, bạn sẽ tìm hiểu về các loại khác nhau của chúng

Các loại đồ thị trong cấu trúc dữ liệu

Có nhiều loại biểu đồ khác nhau trong cấu trúc dữ liệu, mỗi loại được trình bày chi tiết bên dưới

1. đồ thị hữu hạn

Đồ thị G=(V,E) được gọi là đồ thị hữu hạn nếu số đỉnh và số cạnh của đồ thị là hữu hạn

Hướng dẫn cấu trúc dữ liệu đồ thị python

2. đồ thị vô hạn

Đồ thị G=(V, E) được gọi là đồ thị hữu hạn nếu số đỉnh và số cạnh của đồ thị là vô tận

Hướng dẫn cấu trúc dữ liệu đồ thị python

3. đồ thị tầm thường

Một đồ thị G= (V, E) là tầm thường nếu nó chỉ chứa một đỉnh duy nhất và không có cạnh nào

Hướng dẫn cấu trúc dữ liệu đồ thị python

4. đồ thị đơn giản

Nếu mỗi cặp nút hoặc đỉnh của đồ thị G=(V,E) chỉ có một cạnh thì đó là đồ thị đơn. Kết quả là, chỉ có một cạnh nối hai đỉnh, mô tả tương tác một đối một giữa hai phần tử

Hướng dẫn cấu trúc dữ liệu đồ thị python

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

Hướng dẫn cấu trúc dữ liệu đồ thị python

5. đa đồ thị

Nếu có vô số cạnh nằm giữa một cặp đỉnh của đồ thị G= (V, E) thì đồ thị đó được gọi là đa đồ thị. Không có vòng lặp tự trong Multigraph

Hướng dẫn cấu trúc dữ liệu đồ thị python

6. đồ thị rỗng

Đó là phiên bản làm lại của một biểu đồ tầm thường. Nếu một số đỉnh nhưng không có cạnh nào kết nối chúng, đồ thị G= (V, E) là đồ thị rỗng.  

Hướng dẫn cấu trúc dữ liệu đồ thị python

7. Đồ thị hoàn chỉnh

Nếu một đồ thị G= (V, E) cũng là một đồ thị đơn giản thì nó hoàn thành. Sử dụng các cạnh, với n số đỉnh phải được kết nối. Nó còn được gọi là đồ thị đầy đủ vì bậc của mỗi đỉnh phải là n-1

Hướng dẫn cấu trúc dữ liệu đồ thị python

8. đồ thị giả

Nếu một đồ thị G= (V, E) chứa một vòng lặp bên cạnh các cạnh khác, thì đó là đồ thị giả

Hướng dẫn cấu trúc dữ liệu đồ thị python

9. đồ thị thông thường

Nếu đồ thị G= (V, E) là đồ thị đơn có cùng bậc tại các đỉnh thì đó là đồ thị chính quy. Kết quả là mọi đồ thị đều là đồ thị chính quy

Hướng dẫn cấu trúc dữ liệu đồ thị python

10. Đồ thị có trọng số

Đồ thị G= (V, E) được gọi là đồ thị có nhãn hoặc trọng số vì mỗi cạnh có một giá trị hoặc trọng số biểu thị chi phí đi qua cạnh đó

Hướng dẫn cấu trúc dữ liệu đồ thị python

11. đồ thị có hướng

Đồ thị có hướng còn được gọi là đồ thị ghép, là một tập hợp các nút được nối với nhau bởi các cạnh, mỗi cạnh có một hướng

Hướng dẫn cấu trúc dữ liệu đồ thị python

12. đồ thị vô hướng

Một đồ thị vô hướng bao gồm một tập hợp các nút và liên kết kết nối chúng. Thứ tự của hai đỉnh được kết nối là không liên quan và không có hướng. Bạn có thể tạo một đồ thị vô hướng với số đỉnh và cạnh hữu hạn

Hướng dẫn cấu trúc dữ liệu đồ thị python

13. Biểu đồ được kết nối

Nếu có một đường dẫn giữa một đỉnh của cấu trúc dữ liệu biểu đồ và bất kỳ đỉnh nào khác, biểu đồ được kết nối

Hướng dẫn cấu trúc dữ liệu đồ thị python

14. Đồ thị bị ngắt kết nối

Khi không có cạnh nối các đỉnh, bạn gọi đồ thị null là đồ thị không liên kết

Hướng dẫn cấu trúc dữ liệu đồ thị python

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Hướng dẫn cấu trúc dữ liệu đồ thị python

15. đồ thị tuần hoàn

Nếu một đồ thị chứa ít nhất một chu trình đồ thị thì nó được coi là đồ thị tuần hoàn

Hướng dẫn cấu trúc dữ liệu đồ thị python

16. đồ thị tuần hoàn

Khi không có chu trình nào trong đồ thị, nó được gọi là đồ thị tuần hoàn

Hướng dẫn cấu trúc dữ liệu đồ thị python

17. Đồ thị tuần hoàn có hướng

Nó còn được gọi là đồ thị tuần hoàn có hướng (DAG) và là đồ thị có các cạnh có hướng nhưng không có chu trình. Nó đại diện cho các cạnh bằng cách sử dụng một cặp đỉnh có thứ tự vì nó định hướng các đỉnh và lưu trữ một số dữ liệu

Hướng dẫn cấu trúc dữ liệu đồ thị python

18. đồ thị con

Các đỉnh và cạnh của một đồ thị là tập con của một đồ thị khác được gọi là đồ thị con

Hướng dẫn cấu trúc dữ liệu đồ thị python

Sau khi bạn tìm hiểu về nhiều loại biểu đồ trong biểu đồ trong cấu trúc dữ liệu, bạn sẽ chuyển sang thuật ngữ biểu đồ

Thuật ngữ của đồ thị trong cấu trúc dữ liệu

Sau đây là các thuật ngữ cơ bản của đồ thị trong cấu trúc dữ liệu

  • Cạnh là một trong hai đơn vị chính được sử dụng để tạo thành đồ thị. Mỗi cạnh có hai đầu là các đỉnh mà nó được gắn vào
  • Nếu hai đỉnh là hai đầu mút của cùng một cạnh thì chúng kề nhau
  • Các cạnh hướng ra của một đỉnh là các cạnh có hướng trỏ đến gốc tọa độ
  • Các cạnh đến của một đỉnh là các cạnh có hướng trỏ đến đích của đỉnh
  • Tổng số cạnh xuất hiện đối với một đỉnh trong đồ thị là bậc của nó
  • Bậc ngoài của một đỉnh trong đồ thị có hướng là tổng số cạnh đi ra, trong khi bậc trong là tổng số cạnh vào
  • Đỉnh có bậc trong bằng 0 được gọi là đỉnh nguồn, trong khi đỉnh có bậc ngoài bằng 0 được gọi là đỉnh chìm
  • Một đỉnh bị cô lập là một đỉnh không có độ không phải là điểm cuối của một cạnh
  • Đường đi là một tập hợp các đỉnh và cạnh xen kẽ nhau, với mỗi đỉnh được nối với nhau bằng một cạnh
  • Đường đi bắt đầu và kết thúc tại cùng một đỉnh được gọi là một chu trình
  • Đường đi có các đỉnh duy nhất gọi là đường đi đơn
  • Với mỗi cặp đỉnh x, y, đồ thị được liên thông mạnh nếu nó chứa đường đi có hướng từ x đến y và đường đi có hướng từ y đến x
  • Một đồ thị có hướng là liên thông yếu nếu tất cả các cạnh có hướng của nó được thay thế bằng các cạnh vô hướng, dẫn đến một đồ thị liên thông. Các đỉnh của đồ thị liên kết yếu có ít nhất một bậc ngoài hoặc bậc
  • Một cái cây là một khu rừng được kết nối. Dạng sơ cấp của cây được gọi là cây gốc, là cây tự do
  • Một đồ thị con bao trùm cũng là một cây được gọi là cây bao trùm
  • Thành phần liên thông là đồ thị con liên thông nhất của đồ thị không liên thông
  • Một cây cầu, là một cạnh của sự loại bỏ, sẽ cắt đứt đồ thị
  • Rừng là đồ thị không có chu trình

Sau đó, bạn sẽ xem biểu diễn đồ thị trong hướng dẫn cấu trúc dữ liệu này

khóa học miễn phí. Nguyên tắc cơ bản về lập trình

Tìm hiểu kiến ​​thức cơ bản về lập trình Đăng ký ngay

Hướng dẫn cấu trúc dữ liệu đồ thị python

Biểu diễn đồ thị trong cấu trúc dữ liệu

Đồ thị trong cấu trúc dữ liệu được sử dụng để biểu diễn mối quan hệ giữa các đối tượng. Mỗi đồ thị bao gồm một tập hợp các điểm được gọi là đỉnh hoặc nút được kết nối bởi các đường được gọi là cạnh. Các đỉnh trong một mạng đại diện cho các thực thể

Các biểu diễn đồ thị thường xuyên nhất là hai biểu diễn theo sau

  • Ma trận kề
  • danh sách kề

Bạn sẽ xem xét hai cách biểu diễn đồ thị này trong cấu trúc dữ liệu chi tiết hơn

Ma trận kề

  • Biểu diễn tuần tự là ma trận kề
  • Nó được sử dụng để hiển thị các nút nằm cạnh nhau. Tôi. e. , có bất kỳ kết nối nào giữa các nút trong biểu đồ không?
  • Bạn tạo một ma trận MXM G cho biểu diễn này. Nếu tồn tại cạnh giữa đỉnh a và đỉnh b thì phần tử tương ứng của G là gi,j = 1, ngược lại gi,j = 0
  • Nếu có đồ thị có trọng số, bạn có thể ghi lại trọng số của cạnh thay vì 1 và 0

Biểu diễn đồ thị vô hướng

Hướng dẫn cấu trúc dữ liệu đồ thị python

Biểu diễn đồ thị có hướng

Hướng dẫn cấu trúc dữ liệu đồ thị python

Biểu diễn đồ thị vô hướng có trọng số

Trọng số hoặc chi phí được biểu thị ở cạnh của biểu đồ, biểu đồ có trọng số biểu thị các giá trị này trong ma trận

Hướng dẫn cấu trúc dữ liệu đồ thị python

Khóa học Lập trình viên Java Full Stack

Hợp tác với HIRIST và HackerEarth KHÓA HỌC KHÁM PHÁ

Hướng dẫn cấu trúc dữ liệu đồ thị python

Danh sách kề

  • Biểu diễn liên kết là danh sách kề
  • Bạn giữ một danh sách các hàng xóm cho mỗi đỉnh trong biểu đồ trong biểu diễn này. Điều đó có nghĩa là mỗi đỉnh trong đồ thị có một danh sách các đỉnh lân cận của nó
  • Bạn có một mảng các đỉnh được lập chỉ mục theo số đỉnh và thành phần mảng tương ứng cho mỗi đỉnh x trỏ đến một danh sách liên kết đơn gồm các lân cận của x

Biểu diễn đồ thị vô hướng có trọng số bằng danh sách liên kết

Hướng dẫn cấu trúc dữ liệu đồ thị python

Biểu diễn đồ thị vô hướng có trọng số bằng cách sử dụng một mảng

Hướng dẫn cấu trúc dữ liệu đồ thị python

Bây giờ bạn sẽ thấy tất cả các thao tác nào được thực hiện trong cấu trúc dữ liệu đồ thị sau khi hiểu cách biểu diễn đồ thị trong cấu trúc dữ liệu

cũng đọc. Danh sách liên kết trong cấu trúc dữ liệu

Thao tác trên đồ thị trong cấu trúc dữ liệu

Các thao tác bạn thực hiện trên biểu đồ trong cấu trúc dữ liệu được liệt kê bên dưới

  • Tạo đồ thị
  • Chèn đỉnh
  • Xóa đỉnh
  • Chèn cạnh
  • Xóa cạnh

Bạn sẽ đi chi tiết từng thao tác một

Tạo đồ thị

Có hai kỹ thuật để tạo biểu đồ

1. Ma trận kề

Ma trận kề của một đồ thị có nhãn đơn giản, còn được gọi là ma trận kết nối, là một ma trận có các hàng và cột được gắn nhãn bởi các đỉnh của đồ thị và một vị trí 1 hoặc 0 tùy thuộc vào việc chúng có kề nhau hay không.

2. Danh sách kề

Một đồ thị hữu hạn được biểu diễn bằng một danh sách kề, là một tập hợp các danh sách không có thứ tự. Mỗi danh sách không có thứ tự mô tả tập hợp các hàng xóm của một đỉnh cụ thể trong biểu đồ trong danh sách kề

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

Hướng dẫn cấu trúc dữ liệu đồ thị python

Chèn đỉnh

Khi bạn thêm một đỉnh mà sau khi giới thiệu một hoặc nhiều đỉnh hoặc nút, kích thước của biểu đồ sẽ tăng lên một, tăng kích thước của ma trận lên một ở cấp độ hàng và cột

Hướng dẫn cấu trúc dữ liệu đồ thị python

Xóa đỉnh

  • Xóa một đỉnh đề cập đến việc xóa một nút hoặc đỉnh cụ thể khỏi biểu đồ đã được lưu
  • Nếu một nút bị xóa xuất hiện trong biểu đồ, ma trận sẽ trả về nút đó. Nếu một nút bị xóa không xuất hiện trong biểu đồ, ma trận sẽ trả về nút không khả dụng

Hướng dẫn cấu trúc dữ liệu đồ thị python

Đào tạo chứng chỉ Java MIỄN PHÍ

Tìm hiểu từ A-Z về Java hơn bao giờ hết Đăng ký ngay

Hướng dẫn cấu trúc dữ liệu đồ thị python

Chèn cạnh

Kết nối hai đỉnh được cung cấp có thể được sử dụng để thêm một cạnh vào biểu đồ

Hướng dẫn cấu trúc dữ liệu đồ thị python

Xóa cạnh

Kết nối giữa các đỉnh hoặc nút có thể được loại bỏ để xóa một cạnh

Hướng dẫn cấu trúc dữ liệu đồ thị python

Các loại thuật toán duyệt đồ thị sẽ được thảo luận tiếp theo trong các đồ thị trong hướng dẫn cấu trúc dữ liệu này

Thuật toán duyệt đồ thị

Quá trình truy cập hoặc cập nhật từng đỉnh trong biểu đồ được gọi là duyệt qua biểu đồ. Trình tự mà chúng truy cập các đỉnh được sử dụng để phân loại các giao dịch đó. Duyệt đồ thị là một tập con của duyệt cây

Có hai kỹ thuật để thực hiện thuật toán duyệt đồ thị

  • tìm kiếm theo chiều rộng
  • Tìm kiếm theo chiều sâu

Tìm kiếm theo chiều rộng hoặc BFS

BFS là một kỹ thuật tìm kiếm để tìm một nút trong cấu trúc dữ liệu biểu đồ đáp ứng một bộ tiêu chí.  

  • Nó bắt đầu từ gốc của biểu đồ và điều tra tất cả các nút ở mức độ sâu hiện tại trước khi chuyển sang các nút ở mức độ sâu tiếp theo
  • Để theo dõi các nút con đã gặp nhưng chưa được kiểm tra, cần nhiều bộ nhớ hơn, thông thường bạn cần có một hàng đợi

Thuật toán tìm kiếm theo chiều rộng

Bước 1. Xem xét biểu đồ bạn muốn điều hướng

Bước 2. Chọn bất kỳ đỉnh nào trong biểu đồ của bạn, giả sử v1, từ đó bạn muốn đi qua biểu đồ

Bước 3. Kiểm tra hai cấu trúc dữ liệu bất kỳ để duyệt qua biểu đồ

  • Mảng đã truy cập (kích thước của biểu đồ)
  • Cấu trúc dữ liệu hàng đợi

Bước 4. Bắt đầu từ đỉnh, bạn sẽ thêm vào mảng đã thăm và sau đó, bạn sẽ thêm các đỉnh liền kề của v1 vào cấu trúc dữ liệu hàng đợi

Bước 5. Bây giờ, sử dụng khái niệm FIFO, bạn phải xóa phần tử khỏi hàng đợi, đặt nó vào mảng đã truy cập, sau đó quay lại hàng đợi để thêm các đỉnh liền kề của phần tử đã xóa

Bước 6. Lặp lại bước 5 cho đến khi hàng đợi không rỗng và không còn đỉnh nào cần thăm

Hướng dẫn cấu trúc dữ liệu đồ thị python

Tìm kiếm theo chiều sâu hoặc DFS

DFS là một kỹ thuật tìm kiếm để tìm một nút trong cấu trúc dữ liệu biểu đồ đáp ứng một bộ tiêu chí.  

  • Thuật toán tìm kiếm theo chiều sâu (DFS) duyệt qua hoặc khám phá các cấu trúc dữ liệu như cây và đồ thị. Thuật toán DFS bắt đầu tại nút gốc và kiểm tra từng nhánh càng xa càng tốt trước khi quay lui
  • Để theo dõi các nút con đã gặp nhưng chưa được kiểm tra, cần có thêm bộ nhớ, thường là ngăn xếp

Thuật toán tìm kiếm theo chiều sâu

Bước 1. Xem xét biểu đồ bạn muốn điều hướng

Bước 2. Chọn bất kỳ đỉnh nào trong biểu đồ của chúng tôi, giả sử v1, từ đó bạn muốn bắt đầu duyệt qua biểu đồ

Bước 3. Kiểm tra hai cấu trúc dữ liệu bất kỳ để duyệt qua biểu đồ

  • Mảng đã truy cập (kích thước của biểu đồ)
  • Cấu trúc dữ liệu ngăn xếp

Bước 4. Chèn v1 vào khối đầu tiên của mảng và đẩy tất cả các nút hoặc đỉnh liền kề của đỉnh v1 vào ngăn xếp

Bước 5. Bây giờ, sử dụng nguyên tắc FIFO, bật phần tử trên cùng và đặt nó vào mảng đã truy cập, đẩy tất cả các nút lân cận của phần tử đã bật vào đó

Bước 6. Nếu phần tử trên cùng của ngăn xếp đã có trong mảng, hãy loại bỏ nó thay vì chèn nó vào mảng đã truy cập

Bước 7. Lặp lại bước 6 cho đến khi cấu trúc dữ liệu ngăn xếp không trống.                       

Hướng dẫn cấu trúc dữ liệu đồ thị python

Bây giờ bạn sẽ xem xét các ứng dụng của cấu trúc dữ liệu đồ thị sau khi hiểu thuật toán duyệt đồ thị trong hướng dẫn này

Ứng dụng của đồ thị trong cấu trúc dữ liệu

Sau đây là một số ứng dụng của đồ thị trong cấu trúc dữ liệu

  • Đồ thị được sử dụng trong khoa học máy tính để mô tả luồng tính toán
  • Người dùng trên Facebook được coi là các đỉnh và nếu họ là bạn bè thì sẽ có một cạnh kết nối họ. Hệ thống gợi ý kết bạn trên Facebook dựa trên lý thuyết đồ thị
  • Bạn bắt gặp Biểu đồ phân bổ tài nguyên trong Hệ điều hành, trong đó mỗi quy trình và tài nguyên được xem xét theo chiều dọc. Các cạnh được vẽ từ tài nguyên đến các chức năng được chỉ định hoặc từ quá trình yêu cầu đến tài nguyên mong muốn. Một bế tắc sẽ phát triển nếu điều này dẫn đến việc thiết lập một chu kỳ
  • Các trang web được gọi là các đỉnh trên World Wide Web. Giả sử có một liên kết từ trang A đến trang B có thể đại diện cho một cạnh. Ứng dụng này là một minh họa của đồ thị có hướng
  • Các hệ thống biến đổi đồ thị thao tác đồ thị trong bộ nhớ bằng cách sử dụng các quy tắc. Cơ sở dữ liệu đồ thị lưu trữ và truy vấn dữ liệu có cấu trúc đồ thị theo cách vĩnh viễn, an toàn cho giao dịch

Cuối cùng, trong hướng dẫn này, bạn sẽ xem mã cho biểu đồ trong cấu trúc dữ liệu

Thực thi mã của đồ thị trong cấu trúc dữ liệu

#include

#include

#include

#define V 6             // Xác định số đỉnh tối đa của đồ thị

đồ thị cấu trúc                  // khai báo cấu trúc dữ liệu đồ thị

{

cấu trúc Nút * điểm [V];

};

struct Node                   // khai báo nút

{

điểm đến int;

struct Node* tiếp theo;

};

liên kết cấu trúc                  // khai báo cạnh

{

int nguồn, đích;

};

struct graph* make_Graph(struct link edge[], int x)           // hàm tạo đồ thị

{

int tôi;

đồ thị cấu trúc* đồ thị = (đồ thị cấu trúc*)malloc(sizeof(đồ thị cấu trúc));

for (i = 0; i < V; i++) {

đồ thị->điểm[i] = NULL;

}

cho (i = 0; i < x; i++)

{

nguồn int = các cạnh [i]. nguồn;

int đích = cạnh [i]. điểm đến;

struct Node* Node1 = (struct Node*)malloc(sizeof(struct Node));

Nút1->đích = đích;

Nút1->tiếp theo = đồ thị->điểm[nguồn];

đồ thị->điểm[nguồn] = Nút1;

}

trả về đồ thị;

}

void displayGraph(struct graph* graph)       // hàm xem đồ thị

{

int tôi;

cho (i = 0; i < V; i++)

{

struct Node* ptr = graph->point[i];

trong khi (ptr. = KHÔNG)

{

printf("(%d —> %d)\t", i, ptr->đích);

ptr = ptr->tiếp theo;

}

printf("\n");

}

}

int chính (khoảng trống)

{

cạnh liên kết cấu trúc [] =

{

{ 0, 1 }, { 1, 3 }, { 3, 0 }, { 3, 4 }, { 4, 5 }, { 5, 6 }

};

int n = sizeof(cạnh)/sizeof(cạnh[0]);

đồ thị cấu trúc *graph = make_Graph(edges, n);

displayGraph(đồ thị);

trả về 0;

}

đầu ra

(0 ù > 1)

(1 ù > 3)

(3 ù > 4)        (3 ù > 0)

(4 ù > 5)

(5ù > 6)

--------------------------------

Quá trình thoát sau 0. 06697 giây với giá trị trả về 0

Bấm phím bất kỳ để tiếp tục. .

Nắm vững các công nghệ front-end và back-end cũng như các khía cạnh nâng cao trong Chương trình Sau đại học của chúng tôi về Phát triển Web Full Stack. Giải phóng sự nghiệp của bạn với tư cách là một nhà phát triển full stack chuyên nghiệp. Liên lạc với chúng tôi NGAY BÂY GIỜ

Bước tiếp theo

Bạn đã học cấu trúc dữ liệu đồ thị là gì và nhiều loại cấu trúc dữ liệu đồ thị trong hướng dẫn “đồ thị trong cấu trúc dữ liệu” này. Sau đó, bạn đã tìm hiểu về phương pháp duyệt đồ thị, bao gồm các thuật toán tìm kiếm theo chiều rộng và chiều sâu trước, cũng như một số ứng dụng cấu trúc dữ liệu đồ thị

"Tìm kiếm theo chiều rộng hoặc BFS" sẽ là chủ đề tiếp theo của bạn, nơi bạn sẽ tìm hiểu về thuật toán tìm kiếm theo chiều rộng và cách duyệt cấu trúc dữ liệu dạng cây và biểu đồ bằng BFS. Nếu bạn muốn tìm hiểu thêm về cấu trúc dữ liệu và ngôn ngữ lập trình, hãy xem Chương trình sau đại học về phát triển toàn bộ ngăn xếp của simplilearn có thể là thứ bạn cần. Bootcamp được cung cấp với sự cộng tác của Caltech CTME và sẽ cung cấp cho bạn các kỹ năng phát triển phần mềm sẵn sàng cho công việc, chứng chỉ ngành và sự công nhận toàn cầu mà bạn cần để thành công ngay bây giờ

Nếu bạn có bất kỳ nghi ngờ nào liên quan đến bài viết "đồ thị trong cấu trúc dữ liệu", vui lòng hỏi trong phần bình luận bên dưới. Chúng tôi sẽ sẵn lòng giải quyết vấn đề của bạn ngay khi có thể. Cho đến lúc đó, hãy theo dõi kênh của Simplilearn và tiếp tục học hỏi

câu hỏi thường gặp

1. Cấu trúc dữ liệu đồ thị được sử dụng ở đâu trong cuộc sống thực?

Bạn rất có thể sử dụng các nền tảng mạng xã hội như Facebook, LinkedIn, Instagram và các nền tảng khác. Một ví dụ tuyệt vời về biểu đồ được sử dụng là phương tiện truyền thông xã hội. Biểu đồ được sử dụng trong phương tiện truyền thông xã hội để chứa thông tin về từng người dùng. Mỗi người dùng là một nút trong trường hợp này, giống như trong Biểu đồ. Tương tự, Google Maps là một ứng dụng khác sử dụng biểu đồ. Trong trường hợp của Google Maps, mỗi địa điểm được gọi là một nút và các con đường kết nối chúng được gọi là các cạnh

2. Các loại biểu đồ khác nhau trong cấu trúc dữ liệu là gì?

Biểu đồ là cấu trúc dữ liệu phi tuyến tính bao gồm các nút và cạnh. Chúng có nhiều dạng khác nhau. Cụ thể, chúng là Đồ thị hữu hạn, Đồ thị vô hạn, Đồ thị tầm thường, Đồ thị đơn giản, Đồ thị đa, Đồ thị không, Đồ thị đầy đủ, Đồ thị giả, Đồ thị thông thường, Đồ thị được dán nhãn, Đồ thị chữ ghép, Đồ thị con, Đồ thị được kết nối hoặc không kết nối và Đồ thị tuần hoàn

3. Có bao nhiêu loại biểu đồ trong cấu trúc dữ liệu?

Chúng có từ 14 đến 15 loại. Tuy nhiên, đồ thị được sử dụng phổ biến nhất là đồ thị hữu hạn

4. Biểu đồ hoàn chỉnh trong cấu trúc dữ liệu là gì?

Một đồ thị được coi là đầy đủ nếu giữa mọi cặp đỉnh của đồ thị đều tồn tại một cạnh. Nói cách khác, tất cả các đỉnh của đồ thị được kết nối với các đỉnh còn lại của đồ thị. Một đồ thị đầy đủ của 'n' đỉnh có chính xác nC2 cạnh và được viết là Kn

5. Đồ thị tuần hoàn có hướng là gì?

Đồ thị tuần hoàn có hướng (DAG) là đồ thị có hướng và không có chu trình liên kết các cạnh khác trong khoa học máy tính và toán học. Điều này chỉ ra rằng việc duyệt toàn bộ đồ thị từ một cạnh là không thể. Các cạnh của đồ thị có hướng chỉ có thể di chuyển theo một hướng. Biểu đồ là một sắp xếp tô pô trong đó mỗi nút có một thứ tự cụ thể

6. Biểu đồ trong cấu trúc dữ liệu là gì?

Biểu đồ là một loại cấu trúc dữ liệu phi tuyến tính được tạo thành từ các đỉnh và các cạnh. Các đỉnh còn được gọi là các nút, trong khi các cạnh là các đường hoặc cung liên kết hai nút bất kỳ trong mạng. Theo thuật ngữ kỹ thuật hơn, đồ thị bao gồm các đỉnh (V) và các cạnh (E). Biểu đồ được biểu diễn dưới dạng G(E, V)

7. Biểu đồ trong cấu trúc dữ liệu và ứng dụng của nó là gì?

Đồ thị là một cấu trúc dữ liệu phi tuyến tính được tạo thành từ các đỉnh (hoặc nút) được liên kết bởi các cạnh (hoặc cung), có thể có hướng hoặc vô hướng. Đồ thị được sử dụng trong khoa học máy tính để mô tả luồng tính toán

8. Biểu đồ hữu ích như thế nào khi diễn giải dữ liệu?

Đồ thị là một cách phổ biến để mô tả trực quan các kết nối dữ liệu. Mục tiêu của biểu đồ là truyền tải quá nhiều sự kiện phức tạp hoặc quá nhiều để có thể diễn đạt đầy đủ bằng từ ngữ và trong không gian ít hơn. Tuy nhiên, không sử dụng biểu đồ cho lượng dữ liệu nhỏ có thể được diễn đạt bằng một cụm từ

Thông tin về các Tác giả

Hướng dẫn cấu trúc dữ liệu đồ thị python
Ravikiran AS

Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark

Cấu trúc dữ liệu nào là tốt nhất cho biểu đồ?

Một biểu đồ có thể được biểu diễn bằng 3 cấu trúc dữ liệu- ma trận kề, danh sách kề và tập kề . Một ma trận kề có thể được coi như một bảng với các hàng và cột. Nhãn hàng và nhãn cột đại diện cho các nút của biểu đồ.

Thuật toán đồ thị trong Python là gì?

Các thuật toán trong đồ thị bao gồm tìm đường đi giữa hai nút, tìm đường đi ngắn nhất giữa hai nút, xác định chu trình trong biểu đồ (chu trình là đường đi không rỗng từ nút đến chính nó), tìm đường đi đến tất cả các nút (thuật toán nổi tiếng

Python có cấu trúc dữ liệu đồ thị không?

Đồ thị trong Python có thể được biểu diễn theo nhiều cách khác nhau. Những cái đáng chú ý nhất là ma trận kề, danh sách kề và danh sách cạnh . Trong hướng dẫn này, chúng tôi sẽ đề cập đến tất cả chúng. Khi triển khai biểu đồ, bạn có thể chuyển đổi giữa các loại biểu diễn này một cách thoải mái.

4 cấu trúc dữ liệu trong Python là gì?

Cấu trúc dữ liệu Python cơ bản trong Python bao gồm danh sách, bộ, bộ và từ điển . Mỗi cấu trúc dữ liệu là duy nhất theo cách riêng của nó.