Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để kiểm tra xem một chu trình hoặc đường đi Hamilton có tồn tại trong một đồ thị cho trước hay không

Chu trình Hamilton là một Đường Hamilton sao cho có một cạnh (trong đồ thị) từ đỉnh cuối cùng đến đỉnh đầu tiên của Đường Hamilton. Nó nằm trong một biểu đồ vô hướng là một đường dẫn đến mỗi đỉnh của biểu đồ chính xác một lần.

Chức năng và mục đích:

 Begin 1. Chức năng isSafe () được sử dụng để kiểm tra xem nó có kề với đỉnh đã thêm trước đó và chưa được thêm hay không. 2. function hamiltonianCycle () giải bài toán hamiltonian. 3. function hamCycle () sử dụng hamiltonianCycle () để giải bài toán hamiltonian. Nó trả về false nếu không có Chu trình Hamilton, nếu không thì trả về true và in ra đường dẫn. 

Ví dụ

 #include  #include  #include  #define N 5using namespace std; void displaytheSolution (int path []); bool isSafe (int n, bool g [N] [N], int path [], int pos) {if (g [path [pos-1]] [n] ==0) return false; for (int i =0; i  

Đầu ra

 Tồn tại Chu kỳ:Sau đây là một Chu kỳ Hamilton0 4 1 2 3 0