【第十三週】Prim演算法的驗證
*Copyright (c)2017,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱: *作 者:李佳駿 *完成日期:2017年11月30日 *版 本 號:v1.0 *問題描述:資料結構實踐——Prime演算法的驗證 *輸入描述: 無 *程式輸出: <span style="color:#33cc00;"> </span>
程式碼及截圖
#include <stdio.h> #include <malloc.h> #include "graph.h" void Prim(MGraph g,int v) { int lowcost[MAXV]; //頂點i是否在U中 int min; int closest[MAXV],i,j,k; for (i=0; i<g.n; i++) //給lowcost[]和closest[]置初值 { lowcost[i]=g.edges[v][i]; closest[i]=v; } for (i=1; i<g.n; i++) //找出n-1個頂點 { min=INF; for (j=0; j<g.n; j++) //在(V-U)中找出離U最近的頂點k if (lowcost[j]!=0 && lowcost[j]<min) { min=lowcost[j]; k=j; //k記錄最近頂點的編號 } printf(" 邊(%d,%d)權為:%d\n",closest[k],k,min); lowcost[k]=0; //標記k已經加入U for (j=0; j<g.n; j++) //修改陣列lowcost和closest if (g.edges[k][j]!=0 && g.edges[k][j]<lowcost[j]) { lowcost[j]=g.edges[k][j]; closest[j]=k; } } } int main() { MGraph g; int A[6][6]= { {0,6,1,5,INF,INF}, {6,0,5,INF,3,INF}, {1,5,0,5,6,4}, {5,INF,5,0,INF,2}, {INF,3,6,INF,0,6}, {INF,INF,4,2,6,0} }; ArrayToMat(A[0], 6, g); printf("最小生成樹構成:\n"); Prim(g,0); return 0; }
相關推薦
【第十三週】Prim演算法的驗證
*Copyright (c)2017,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱: *作 者:李佳駿
【第十三週】Kruskal演算法的驗證
#include <stdio.h> #include <malloc.h> #include "graph.h" #define MaxSize 100 typedef struct { int u; //邊的起始頂點 int v; //邊的終止頂點
【第十三週】Dijkstra演算法的驗證
*Copyright (c)2017,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:
第十三週專案3Floyd演算法驗證
/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年12月7日 * 版本號:VC6.0 * 問題描述:Floyd演算法驗證 * 輸入描述:無 * 程式輸出:圖的基本
【第八週】專案3-順序串演算法
採用順序儲存方式儲存串,實現下列演算法並測試: (1)試編寫演算法實現將字串S中所有值為c1的字元換成值為c2的字元: void Trans(SqString *&s, char c1, char c2); (2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如ABCDEF改為FEDCB
【演算法分析與設計】【第五週】169. Majority Element
方法概覽 這題和《演算法概論習題》2.23是一樣的。老師剛講過,複習一下。 題目大意:找到出現次數超過一半的元素。 看到題目,應該想到,給定一個整數陣列,找出出現次數大於N/2 的那個數,且這樣的數若存在,就僅僅存在一個。 方法很多,這裡總結四
python全棧開發【第十三篇】Python面向對象
等於 dog -- egg clas 註釋 python面向對 sta 面向對象 一、面向過程:面向過程的程序設計的核心是過程(流水線式思維),過程即解決問題的步驟,面向過程的設計就好比精心設計好一條流水線,考慮周全什麽時候處理什麽東西。 優點:極大地降低了寫成學的復雜度,
web前端【第十三篇】jQuery擴展和事件
.text .get lap lose remove 沖突 viewport 賦值 edit 一、jQuery事件 常用事件 blur([[data],fn]) 失去焦點 focus([[data],fn]) 獲取焦點( 搜索框例子) change([[d
Django 【第十篇】自定義驗證規則和中間件
表達式 主動 mixin tex choice direct request lock test 一、Form基本使用 類 字段 is_valid() cleaned_data errors 字段參數: m
Django 【第十三篇】Form組件歸類
checkbox .post 抽象類 gen ice combo 標簽 路徑 label 一、Form類 創建Form類時,主要涉及到 【字段】 和 【插件】,字段用於對用戶請求數據的驗證,插件用於自動生成HTML; 1、Django內置字段如下: Field
【最小生成樹】prim演算法
演算法分析的一般步驟: 1、文字描述:如果一個演算法文字描述不清楚,就說明思路不清楚,也不可能寫好。 prim演算法是實現圖的最小生成樹。既然是圖,就假設包含n個頂點,m條邊。prim演算法是從頂點出發的,其演算法時間複雜度與頂點數目有關係。 (注意:prim演算法適合稠密圖,其時間複雜度為O(n^2)
【MOOC】Python資料分析與展示-北京理工大學-【第三週】資料分析之概要
概要:提取資料的基本特徵 單元7:pandas庫入門 Pandas是Python第三方庫,提供高效能易用資料型別和分析工具,Pandas基於NumPy實現,常與NumPy和Matplotlib一同使用。 常用引用方法: import pandas
【第三週】學習筆記+思維導圖+翻譯
【學習筆記】一丶概念結構設計1.首先就是需要了解概念模型分為以下四個特點:(1)能真實充分地反映現實世界(2) 易於理解(3)易於更改(4)易於向關係、網狀、層次等各種資料模型轉換2. 接下來就是重點來理解一下E-R模型E-R模型分為一下三種概念:(1)兩個實體型之間的聯絡(
【第八週】專案4-字串加密
#include <stdio.h> #include "sqString.h" SqString A,B; //用於儲存字元對映表 SqString EnCrypt(SqString p) { int i=0,j; SqString q; while (i<p.
Python開發【第十三篇】高階函式、遞迴函式、閉包
函數語言程式設計是指用一系列函式解決問題 好處:用每個函式完成每個細小的功能,一系列函式任意組合能夠解決大問題 函式僅僅接收輸入併產生輸出,不包含任何能影響輸出的內部狀態 函式之間的可重入性 當一個函式的輸入實參一定,結果也必須一定的函式為可重入函式 例子: #可重入函式 def myadd(x,y):
【第十週專案1】二叉樹演算法驗證(一)
/* Copyright (c)2017,煙臺大學計算機與控制工程學院 All rights reserved. 檔名稱:33.cpp 作 者:尚文哲 完成日期:2017年11月9日 問題描述: 執行並重複測試教學內容中涉及的演算法。改
第十三週專案2 Dijkstra演算法的驗證
/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年11月30日 * 版本號:VC6.0 * 問題描述:Dijkstra演算法的驗證 * 輸入描述:無 * 程式輸出
第十三週【任務二】Animal設計為抽象類,每一個Animal的派生類都有一個“名字”資料成員
【任務2】下面給出了基類Animal和main()函式。 (任務2.1)根據main()函式給出的註釋提示,設計出相關的各個類。 (任務2.2)顯然,Animal設計為抽象類更合適,Animal不需要能夠例項化,是專門作基類使用的。改造程式,使Animal設計為抽象類,這時
C++第十三週【任務3】定義抽象基類Shape,由它派生出3個派生類,Circle(圓形)、Rectangle(矩形)、Triangle(三角形)
/* * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:C++第十三週【任務3】 * 作 者:
Django Restful Framework【第四篇】版本、解析器、序列化和請求數據驗證
tor ade clu cts scheme com 繼承 src 當前 一、版本 程序也來越大時,可能通過版本不同做不同的處理 沒用rest_framework之前,我們可以通過以下這樣的方式去獲取。 class UserView(APIView): def