當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby TSort.each_strongly_connected_component_from用法及代碼示例

本文簡要介紹ruby語言中 TSort.each_strongly_connected_component_from 的用法。

用法

each_strongly_connected_component_from(node, each_child, id_map={}, stack=[]) { |nodes| ... }

迭代圖中的強連通分量。該圖由 nodeeach_child 表示。

node 是第一個節點。 each_child 應該有 call 方法,它接受一個節點參數並為每個子節點產生。

返回值未指定。

TSort.each_strongly_connected_component_from 是一個類方法,它不需要一個類來表示包含 TSort 的圖。

graph = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
each_child = lambda {|n, &b| graph[n].each(&b) }
TSort.each_strongly_connected_component_from(1, each_child) {|scc|
  p scc
}
#=> [4]
#   [2, 3]
#   [1]

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 TSort.each_strongly_connected_component_from。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。