clone Graph的總結之二

2021-07-23 16:19:54 字數 934 閱讀 8627

今天寫clone graph的的dfs實現方法,這部分採用遞迴來實現

dfs(dpeth-first search)

顧名思義,就是深度搜尋,一條路走到黑,再選新的路。

遞迴寫法的dfs偽**如下:

input: a graph g and a root v of g

procedure

dfs(g,v):

label v as discovered

for all edges from v to w in g.adjacentedges(v) do

if vertex w is

not labeled as discovered then

recursively call dfs(g,w)

用dfs遞迴實現clonegraph**為:

public undirectedgraphnode clonegraph(undirectedgraphnode node)

//採用hashmap來儲存複製圖

//新建乙個節點,這裡不可以直接引用

undirectedgraphnode head = new undirectedgraphnode(node.label);

//複製第乙個跟節點

//dfs遞迴實現複製

return head;

}public

void

if(node == null)

for(undirectedgraphnode aneighbor : node.neighbors)則因0已存在導致直接無法複製鄰居節點

}//與bfs區分開要,如果bfs使用node則是將所有節點的鄰居都複製給第乙個head

//這裡因為是遞迴每次傳入的都是應當前的主節點而不是他的鄰居

}}

CDN總結之二

cdn中的三個主要角色為 cdn提供者 內容提供者以及使用者。內容提供者在cdn提供者那兒進行註冊而使用服務,將其內容儲存到cdn提供者分布式的 伺服器上。內容可能是以提前準備的方式或者基於使用者需求的方式儲存在 伺服器上,以響應使用者的訪問。使用者的請求將會被最近的 伺服器響應。cdn提供者負責進...

JS學習總結之二

正規表示式 用來定義一些字串的規則,計算機可以根據正規表示式來檢查字串是否合乎規則,將合乎規則的提取出來。用typeof檢查其型別為object。1 建立正規表示式物件 1 var 變數 new regexp 正規表示式 匹配模式 其中匹配模式有兩種 i 忽略大小寫 g 全域性匹配模式 2 var ...

小型專案總結之二

這個小型專案有點曲折,始於2006年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。系統硬體架構 為了使本系統獲得更好的安全性 擴充套件性和更高的執行效能,我們建議整個系統採取分布式部署的方案,該方案系統架構示意圖如下 具體部署如下 原理圖如下 將承載關鍵業務邏輯的應用程式伺...