Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อสร้างกราฟสุ่มโดยใช้ Random Edge Generation


ในโปรแกรมนี้ กราฟสุ่มจะถูกสร้างขึ้นสำหรับจุดยอดและขอบแบบสุ่ม ความซับซ้อนของเวลาของโปรแกรมนี้คือ O(v * e) โดยที่ v คือจำนวนจุดยอด และ e คือจำนวนขอบ

อัลกอริทึม

เริ่มต้นพัฒนาฟังก์ชัน GenRandomGraphs() โดย 'e' เป็นจำนวนขอบและ 'v' เป็นจำนวนจุดยอดในรายการอาร์กิวเมนต์ กำหนดค่าสุ่มให้กับจำนวนจุดยอดและขอบของกราฟโดยใช้ฟังก์ชัน rand() พิมพ์จุดเชื่อมต่อของแต่ละจุดโดยไม่คำนึงถึงทิศทาง พิมพ์ “จุดยอดที่แยกออกมา” สำหรับจุดยอดที่ไม่มีองศาสิ้นสุด

ตัวอย่าง

#include#includeusing namespace std;void GenRandomGraphs(int NOEdge, int NOVertex){ int i, j, edge[NOEdge][2], นับ; ผม =0; //กำหนดค่าสุ่มให้กับจำนวนจุดยอดและขอบของกราฟ โดยใช้ rand() ในขณะที่ (i  { "; for(j =0; j  

ผลลัพธ์

การสร้างกราฟแบบสุ่ม:กราฟมีจุดยอด 8 จุด และมีขอบ 18 จุด กราฟสุ่มที่สร้างขึ้นคือ:1-> { 5 4 2 }2-> { 4 8 6 3 1 5 }3-> { 5 4 7 2 } 4-> { 2 3 7 1 8 5 }5-> { 3 1 7 4 2 8 }6-> { 2 8 7 }7-> { 4 3 5 6 }8-> { 2 6 4 5 }