經過學習圖的一些基本操做,學習了圖的兩種存儲結構:鄰接矩陣和鄰接表,圖的兩種遍歷方法:深度優先遍歷(DFS)和廣度優先遍歷(BFS)。 深度優先遍歷是一個對每一個結點查找其鄰接點的過程,而廣度優先遍歷則是搜索了該結點相連的全部結點。經過學習Prim算法 和Kruskal算法,解決了最小生成樹問題。還學習了拓撲排序,對一個有向無環圖G進行拓撲排序,是將G中全部頂點排成一個線性序列,使得圖中任意一對頂點u和v, 若邊(u,v)∈E(G),則u在線性序列中出如今v以前。這樣的線性序列稱爲知足拓撲次序。
圖着色問題是一個著名的NP徹底問題。給定無向圖G=(V,E),問能否用K種顏色爲V中的每個頂點分配一種顏色,使得不會有兩個相鄰頂點具備同一種顏色? 但本題並非要你解決這個着色問題,而是對給定的一種顏色分配,請你判斷這是不是圖着色問題的一個解。
int g[501][501]={0}; int color[501] = { 0 }; int search(int v) { 遍歷鄰接矩陣 若是兩點(i,j)已鏈接,且顏色相同color[i]==color[j],返回false 不然返回true } int main { g[501][501]鄰接矩陣輸入鏈接圖 color[501]輸入並保存顏色 col集合判斷顏色數量 若是顏色數量正確和search函數返回true,則輸出yes 不然輸入no }
set col建立了一個col集合,是一種包含已排序對象的關聯容器,col.insert(color[j])中把元素color[j]存放進col集合中, 有重複部分不會再被存儲,memset(color, 0, sizeof(color)),將color所指向的某一塊內存中的後個sizeof(color)字節的內容 所有設置爲ch指定的ASCII值,它是對較大的結構體或數組進行清零操做的一種最快方法. 這個寫法是借鑑別人的的代碼
void CreateMGraph(int v,int n ) { 鄰接矩陣賦初值 若是爲對角線上的元素,g[i][j]=0 不然g[i][j]=INF=32767 輸入鏈接圖 } int Prim(int v,int n) { prim算法,其中若是當min=INF時輸出-1,安全退出函數 不然令 count=count+min 函數最後返回count; } int g[1005][1005]; int main() { 建立鄰接矩陣 m=Prim(1,v)從頂點1開始執行prim算法 輸出m }
![](https://img2018.cnblogs.com/blog/1474675/201906/1474675-20190609180242224-140467305.png) 這個不能取等,還有輸出-1的時候要結束
「六度空間」理論雖然獲得普遍的認同,而且正在獲得愈來愈多的應用。可是數十年來,試圖驗證這個理論始終是許多社會學家努力追求的目標。 然而因爲歷史的緣由,這樣的研究具備太大的侷限性和困難。隨着當代人的聯絡主要依賴於電話、短信、微信以及因特網上即時通訊等工具, 可以體現社交網絡關係的一手數據已經逐漸使得「六度空間」理論的驗證成爲可能。 假如給你一個社交網絡圖,請你對每一個節點計算符合「六度空間」理論的結點佔結點總數的百分比。
上機時只打出了兩題,回來把公路村村通打了