- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
49 :デフォルトの名無しさん[]:2015/11/29(日) 20:46:37.54 ID:ILoya83o - >>9
俺の見解では、ツリートラバースに再帰を必要とするのはデータ構造に問題があると思うんだよな。 イテレータの実装を考えると再帰はちょっと無理があるんじゃないかと思う。 もちろん出来ないわけではないのだが。 ノードが子ノードを保持するような原始的なデータ構造は良くないのではないか。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
50 :デフォルトの名無しさん[]:2015/11/29(日) 20:56:36.78 ID:ILoya83o - 代表的なツリーの一つとしてHTMLがある。
HTMLのフラグメントを切り出し、別のノードの子として加えるような操作を考えるとき、 これはやはりループに軍配が上がると思う。 もちろん、ノードに子ノードを保持するような原始的なデータ構造ではかなりメンドクサイ。 というのもHTMLの一部を切り出す時、ノードの種類によって、ノードの分割や併合が起こる。 再帰と原始的なデータ構造では非常にめんどくさい。 私はこの用途のために直列化ツリー構造というデータ構造を考案した。 (おそらくすでに一般的に使われているとは思うのだが。)
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
53 :デフォルトの名無しさん[]:2015/11/29(日) 21:52:31.69 ID:ILoya83o - >>52
ちょっとそのやり方で、HTMLの一部をコピペするコード書いてみて。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
56 :デフォルトの名無しさん[]:2015/11/29(日) 23:04:51.51 ID:ILoya83o - >>54
HTMLのコピペがいつ起こるかというと、ユーザーがその操作をした時なので、 そういう前提で設計してはどうでしょうか。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
57 :デフォルトの名無しさん[]:2015/11/29(日) 23:13:29.23 ID:ILoya83o - HTMLをユーザーの直観に適合する形で操作するのは意外と難しいですよ。
HTMLフラグメントの移動なんてどうですかね。 面白い題材だと思うのですが。
|