سورس یافتن دور همیلتونی به زبان C
در این بخش سورس یافتن دور همیلتونی به زبان C را برای شما آماده کرده ایم که در محیط نرم افزار Code::Blocks و زبان برنامه نویسی C نوشته شده است. در ادامه می توانید توضیحات، تصاویر و همچنین فیلمی از نحوه اجرا شدن پروژه را مشاهده کنید.
توضیحات پروژه
مسیر همیلتونی در نظریه گراف، مسیری در یک گراف غیر جهت دار است که از هر راس دقیقا یک بار عبور کرده و به راسی که از آن آغاز شده است باز می گردد. در گراف Hamiltonian برخلاف گراف اویلری لازم نیست که از همه یال ها عبور کنیم. این گراف به افختار ریاضی دان و دانشمند ایرلندی به نام ویلیام همیلتون (Sir William Rowan Hamilton) به این نام شناخته می شود.
شما با مشاهده سورس کد این پروژه می توانید با نحوه پیاده سازی گراف همیلتونی، استفاده از آرایه ها، توابع ، دستورات شرطی و حلقه ها آشنا شده و مهارت برنامه نویسی خودتان را ارتقا دهید.
قسمت های از سورس کد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <stdlib.h> #include <stdio.h> #include <conio.h> int node_amount = 12; int hamiltonian_cycle_amount = 0; int graph_array[13][13] = { 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,0,0,1,0,0,0,0,0,0,0, 0,1,0,1,0,0,0,1,1,0,0,0,0, 0,0,1,0,1,0,0,0,1,0,0,0,0, 0,0,0,1,0,1,0,0,0,1,0,0,0, 0,1,0,0,0,0,1,0,0,0,1,0,0, 0,0,0,0,0,1,0,1,0,0,0,1,0, 0,0,1,0,0,0,1,0,1,0,0,0,0, 0,0,1,1,0,0,0,1,0,1,0,0,0, 0,0,0,0,1,0,0,0,1,0,1,0,1, 0,0,0,0,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,0,0,1,0,1, 0,1,0,0,0,0,0,0,0,1,0,1,0 }; int result_array[13] = { 0 }; void hamiltonian(int node_index); int promising(int node_index); int main() { printf("\n"); result_array[1] = 1; // start from first node hamiltonian(1); // start to find all Hamiltonian cycles recursively if (hamiltonian_cycle_amount == 0) // no Hamiltonian cycles found printf("\nThere is no Hamiltonian cycles in this graph\n\n"); printf("\n"); getch(); return 0; } |
هیچ نظری ثبت نشده است