なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
上下前次1-新
抽出解除 レス栞
49(1): デフォルトの名無しさん [] 2015/11/29(日)20:46 ID:ILoya83o(1/5)
>>9
俺の見解では、ツリートラバースに再帰を必要とするのはデータ構造に問題があると思うんだよな。
イテレータの実装を考えると再帰はちょっと無理があるんじゃないかと思う。
もちろん出来ないわけではないのだが。
ノードが子ノードを保持するような原始的なデータ構造は良くないのではないか。
52(2): デフォルトの名無しさん [sage] 2015/11/29(日)21:25 ID:+8PPW4GA(4/5)
>>49
> イテレータの実装を考えると再帰はちょっと無理があるんじゃないかと思う。
問題はデータ構造の方じゃなくて言語の方だと思う。
というのも、yieldを持つ言語なら再帰を使ったやり方が最も簡潔に書けるから。
-- language:lua
function traverse(node)
if node then
traverse(node.left)
coroutine.yield(node.value)
traverse(node.right)
end
end
co = coroutine.create(traverse)
not_end, value = coroutine.resume(co, node)
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s