freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件綜合實習報告合集-wenkub.com

2025-03-28 16:09 本頁面
   

【正文】 ( 3)繼續(xù)向下查找得到邊( 2,4),判斷點 2 和點 4 是否已經(jīng)訪問過了得知點 2 已經(jīng)被訪問過了,點 4沒有,因此得到新的集合 {2,、 4}。下面僅給出在邊已經(jīng)通過權值大小進行排序之后,邊通分量的查找的過程和查找之后集合的合并情況( 1)得到圖 G 中最小權值的邊( 2,3),因為( 2,3)排在( 6,7)的前面,所以先判斷它的兩個結點,判斷點 2 和點 3 是否已經(jīng)訪問過了,由于數(shù)組 check 中相應的值為 0,說明沒有被訪問過,因此合并這兩個結點為一個集合 { 3}。通常是利用遞歸來實現(xiàn)圖中結點的遍歷。在這里采用的是加權合并,即把兩個集合中元素個數(shù)少的根結點作為元素個數(shù)多的根節(jié)點的子結點。 ( 3)查找:主要是查找并返回結點 i 所屬集合的根節(jié)點。 并查集的實現(xiàn)主要包含三個方面,即并查集的初始化、查找和集合的合并,下面主要介紹并查集這三個過程的設計與實現(xiàn) 。通過判斷畫出發(fā)生改變的集合 { 7}。此時集合變?yōu)?{1}、 { 7}。 ( 5)在圖 G 的邊的集合 E 中選擇權值最小的邊( 4,5)并畫出此邊,其權重為 3。通過判斷畫出發(fā)生改變的集合 { 7}。此時集合變?yōu)?{1}、 { 3}、 {4}、 {5}、 {6}、 {7}。在程序中也實現(xiàn)了并查集的動態(tài)演示,通過 Kruskal 算法調用并查集的函數(shù),在函數(shù)中對相關的頂點信息進行判斷從而實施相應的畫圖操作。 lkruskal算法動態(tài)演示模塊 基本思想并查集處理問題的主要思想是在處理時使用搜索與合并運算對相關集合進行處理。 ( 2)設置查找到的頂點集合 find[n]所有的值為 1,存儲邊的集合 E[n1]為空集。 至此通過 kruskal 算法得到最小生成樹及生成過程,其最小生成樹的權值為 16。 ( 3)在圖 G 的邊的集合 E 中選擇權值最小的邊( 2,4)并畫出此邊,其權重為 2。 ( 2) 在原 圖 G 中的邊中選擇具有最小權值的邊,若該邊的兩個頂點落在不同的連通分量上,則將此邊加入到 T 中;否則,則將此邊舍去(此后永不選入此邊),重新選擇一條權值最小的邊并進行畫圖的操作處理。首先將圖中所有邊按權值遞增順序排列,依次選定取權值較小的邊,但要求后面選取的邊不能與前面選取的邊構成回路,若構成回路,則放棄該條邊,再去選后面權值較大的邊。根據(jù)lowCost 的定義,這樣的邊其一個頂點必然為集合 V(MST)中的頂點,其另一個頂點(設第 k 個頂點)必然為集合 V(G)- V(MST)中的頂點,將相應的邊添加到 E[n1]中。 Prime算法的設計與實現(xiàn)如下所述: ( 1)對所畫區(qū)域刷新。 ( 6)集合 V(MST)此時已經(jīng)有六個頂點了,即 6,找到與之相連的符合條件的邊 (v6,v7)將權值為 1 的邊添加到 E(MST)中,并將頂點 7 添加到 V(MST)中并畫出此邊。 ( 2)集合 V(MST)此時已經(jīng)有兩個頂點了,即 2,找到與之相連的符合條件的邊 (v2,v3)將權值為 1的邊添加到 E(MST)中,并將頂點3 添加到 V(MST)中并畫出此邊。通過判斷先找出所有這樣的邊。首先從圖 G 的頂點集 V(G)中任選一個頂點,把它加到最小生成樹MST 的頂點集 V(MST)中。通過這樣的一個遍歷過程與畫圖的相關操作結合來實現(xiàn)最小生成樹生成過程的動態(tài)演示。 對于最小生成樹生 成過程中邊相關變量的存儲均是通過定義一個邊( edge)的結構體變量進行存儲的,而關于點的存儲則是通過定義數(shù)組進行相應的存儲,由于不同的實現(xiàn)方法采用的初始值不一樣,因此使用的數(shù)組會有所不同。在對圖進行相關操作尋找最小生成樹時,得到的生成樹中的邊采用的是結構體的存儲方式,在實現(xiàn)的過程中相關變量和數(shù)據(jù)的存儲也主要通過數(shù)組、結構體來實現(xiàn)了。在這里我選擇了將這三種搜索算法融合到 Kruskal算法,因為我覺得在 Kruskal算法對邊通分量進行查詢和合并中使用這三種方法更合理且更容易實現(xiàn),因此也實現(xiàn)了將這三種搜索算法融合到 Kruskal 算法從而實現(xiàn)對圖的最小生成樹的查找。除此之外,在最小生成樹的求解過程中會對邊通分量進行查詢和合并,由題可知要對邊 通 分 量 進 行 查 詢 和 合 并 要 使 用 廣 度 優(yōu) 先 搜 索 算 法( BreadthFirstSearch)、深度優(yōu)先搜索算法 (DepthFirstSearch)和并查集( UnionFindSet)這三種方法。并對兩種算法進行分析和比較。 許多應用問題都是一個求無向連通圖的最小生成樹問題。 雖然做的時候還是很多都不熟悉,但是我知道如果我不嘗試這去做的話就真的什么也做不出來了。 在最初選擇題目的時候,總是覺得自己對使用 MFC 來畫圖這一方面不是很熟悉,擔心自己做不出來。在我的程序中已經(jīng)實現(xiàn)了對給出的這一例子使用Prime 算法、 Kruskal算法求解最小生成樹的運算過程的動態(tài)顯示,除此 之外,對于還實現(xiàn)了在邊通分量的查詢與合并的過程中,采用廣度優(yōu) 先 搜 索 算 法 ( BreadthFirstSearch )、 深 度 優(yōu) 先 搜 索 算 法(DepthFirstSearch)和并查集( UnionFindSet)三種方法來實現(xiàn)對此例中圖的最小生成樹的求解,主要是將這三種搜索方法與 Kruakal 結合來實現(xiàn)對最小生成樹的求解。 Kruskal 算法的時間復雜度與選取的排序函數(shù)有關,這里采用的是不是對其進行排序而是在每一次循環(huán)中找余下的邊中權值最小的邊,找到最小的邊之后將對其相應的點進行標記,已知點的個數(shù)為 n 邊的個數(shù)為 e,所以它的時間復雜度為最壞的情況下為 O(e^2),如果邊已經(jīng)很有序的話,也就是最好的情況下的時間復雜度為 O(n^2)。遍歷圖的過程實質上是通過邊或弧找鄰接點的過程。 廣度優(yōu)先搜索實現(xiàn) Kruskal算法的測試結果 圖( 7) 通過與其他方法實現(xiàn) kruska 算法進行對比,可知結果是一致的。 并查集實現(xiàn) Kruskal算法的測試結果 圖 (5) 此圖中首先給出了最初集合的狀況,緊接著給出了每一次進行邊通分量查找合并過程中發(fā)生變化的集合的狀況。通過這些 可知其生成的最小生成樹只能有七個頂點、六條邊。 對于最小生成樹的繪制過程有一個函數(shù)承擔,主要是實現(xiàn)程序在調用 prime 算法、 kruskal 算法、 深度優(yōu)先搜索實現(xiàn)的 kruskal 算法和廣度優(yōu)先搜索實現(xiàn)的 kruskal算法的過程中 相關運行過程的繪制,此處主要通過判斷最小生成樹中所存儲的邊來進行繪制。 ( 3)如果都已經(jīng)被訪問過了,則利用廣度優(yōu)先搜索判斷這兩個節(jié)點是否屬于同一個集合,如果是的話則拋棄此邊,如果不是的話則對其進行標記,并畫出此邊和相對應的點。 ( 1)隊列: 這里使用到的與隊列相關的操作主要有棧中數(shù)據(jù)的初始化QueueInitiate、將數(shù)據(jù)存入隊列的操作 QueueAppend、將數(shù)據(jù) 從隊列中刪除的操作 QueueDelete、判斷隊列是否為空的操作 QueueNotEmpty。 設計與實現(xiàn)在這里采用 Kruskal 算法得到最小生成樹的過程中,在對邊連通分量的查詢時使用了廣度優(yōu)先搜索的方法來查詢當前得到的具有最下權值的邊的兩個頂 點是不是已經(jīng)存在于被訪問過的結點的集合中,如果是的則進行下一次查詢,否則的話則將沒有訪問過的結點加入已經(jīng)訪問過的結點的集合中。 kruskal 算法利用廣度優(yōu)先搜索進行邊通分量的查詢和合并的的實現(xiàn)過程中,邊通分量的查找和合并雖然是廣度優(yōu)先搜索為主,但是總體是以最小生成樹的的生成過程為主,因此 這里所采用的畫圖操做運行的情況和使用一般的方法實現(xiàn)kruskal 算法的運行過程是一樣的,在這里不再給予詳細的說明,如有必要則可以參照 kruskal 的生成最小生成樹的過程。 ( 5)當最小生成樹生成完畢時,則調用 Draw( E)函數(shù)畫出生成的過程。 下面給出 kruakal 算法利用深度優(yōu)先搜索進行邊連通分量查詢和合并從而得到最小生成樹的的設計與實現(xiàn)步驟: ( 1)對所畫區(qū)域進行刷新。因此主要包含兩個方面,即棧這一數(shù)據(jù)結構中相關函數(shù)的設計與實現(xiàn),以及如何實現(xiàn)深度優(yōu)先搜索算法判斷變量通分量的設計與實現(xiàn)。同時通過深度優(yōu)先搜索對著兩個結點分別進行判斷是否需要標記,可知點 1 此時被標記訪問過了。 ( 5)繼續(xù)向下查找得到邊( 4,6),判斷點 4 和點 6 是否已經(jīng)訪問過了得知點 4 已經(jīng)被訪問過了,點 6沒有,因此得到新的集合 {2,、 7}。 ( 3)繼續(xù)向下查找得到邊( 2,4),判斷點 2 和點 4 是否已經(jīng)訪問過了得知點 2 已經(jīng)被訪問過了,點 4沒有,因此得到新的集合 {2,、 4}。下面僅給出在邊已經(jīng)通過權值大小進行排序之后,邊通分量的查找的過程和查找之后集合的合并情況( 1)得到圖 G 中最小權值的邊( 2,3),因為( 2,3)排在( 6,7)的前面,所以先判斷它的兩個結點,判斷點 2 和點 3 是否已經(jīng)訪問過了,由于數(shù)組 check 中相應的值為 0,說 明沒有被訪問過,因此合并這兩個結點為一個集合 { 3}。通常是利用遞歸來實現(xiàn)圖中結點的遍歷。在這里采用的是加權合并,即把兩個集合中元素個數(shù)少的根結點作為元素個數(shù)多的根節(jié)點的子結點。 ( 3)查找:主要是查找并返回結點 i 所屬集合的根節(jié)點。 并查集的實現(xiàn)主要包含三個方面,即并查集的初始化、查找和集合的合并,下面主要介紹并查集這三個過程的設計與實現(xiàn)。通過判斷畫出發(fā)生改變的集合 { 7}。此時集合變?yōu)?{1}、 { 7}。 ( 5)在圖 G 的邊的集合 E 中選擇權值最小的邊( 4,5)并畫出此邊,其權重為 3。通過判斷畫出發(fā)生改變的集合 { 7}。此時集合變?yōu)?{1}、 { 3}、 {4}、 {5}、 {6}、 {7}。在程序中也實現(xiàn)了并查集的動態(tài)演示,通過 Kruskal 算法調用并查集的函數(shù),在函數(shù)中對相關的頂點信息進行判斷從而實施相應的畫圖操作。 lkruskal算法動態(tài)演示模塊 基本思想并查集處理問題的主要思想是在處理時使用搜索與合并運算對相關集合進行處理。 ( 2)設置查找到的頂點集合 find[n]所有的值為 1,存儲邊的集合 E[n1]為空集。 至此通過 kruskal 算法得到最小生成樹及生成過程,其最小生成樹的權值為 16。 ( 3)在圖 G 的邊的集合 E 中選擇權值最小的邊( 2,4)并畫出此邊,其權重為 2。 ( 2) 在原圖 G 中的邊中選擇具有最小權值的邊,若該邊的兩個頂點落在不同的連通分量上,則將此邊加入到 T 中;否則,則將此邊舍去(此后永不選入此邊),重新選擇一條權值最小的邊并進行畫圖的操作處理。首先將圖中所有邊按權值遞增順序排列,依次選定取 權值較小的邊,但要求后面選取的邊不能與前面選取的邊構成回路,若構成回路,則放棄該條邊,再去選后面權值較大的邊。根據(jù)lowCost 的定義,這樣的邊其一個頂點必然為集合 V(MST)中的頂點,其另一個頂點(設第 k 個頂點)必然為集合 V(G)- V(MST)中的頂點,將相應的邊添加到 E[n1]中。 Prime算法的設計與實現(xiàn)如下所述: ( 1)對所畫區(qū)域刷新。 ( 6)集合 V(MST)此時已經(jīng)有六個頂點了,即 6,找到與之相連的符合條件的邊 (v6,v7)將權值為 1 的邊添加到 E(MST)中,并將頂點 7 添加到 V(MST)中并畫出此邊。 ( 2)集合 V(MST)此時已經(jīng)有兩個頂點了,即 2,找到與之相連的符合條件的邊 (v2,v3)將權值為 1的邊添加到 E(MST)中,并將頂點3 添加到 V(MST)中并畫出此邊。通過判斷先找出所有這樣的邊。首先從圖 G 的頂點集 V(G)中任選一個頂點,把它加到最小生成樹MST 的頂點集 V(MST)中。通過這樣的一個遍歷過程與畫圖的相 關操作結合來實現(xiàn)最小生成樹生成過程的動態(tài)演示。 對于最小生成樹生成過程中邊相關變量的存儲均是通過定義一個邊( edge)的結構體變量進行存儲的,而關于點的存儲則是通過定義數(shù)組進行相應的存儲,由于不同的實現(xiàn)方法采用的初始值不一樣,因此使用的數(shù)組會有所不同。在對圖進行相關操作尋找最小生成樹時,得到的生成樹中的邊采用的是結構體的存儲方式,在實現(xiàn)的過程中相關變量和數(shù)據(jù)的存儲也主要通過數(shù)組、結構體來實現(xiàn)了。在這里我選擇了將這三種搜索算法融合到 Kruskal算法,因為我覺得在 Kruskal算法對邊通分量進行查詢和合并中使用這三種方法 更合理且更容易實現(xiàn),因此也實現(xiàn)了將這三種搜索算法融合到 Kruskal 算法從而實現(xiàn)對圖的最小生成樹的查找。除此之外,在最小生成樹的求解過程中會對邊通分量進行查詢和合并,由題可知要對邊 通 分 量 進 行 查 詢 和 合 并 要 使 用
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1