Lisp Scheme Part41 (856レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
279: デフォルトの名無しさん [sage] 2021/01/11(月) 22:00:08.80 ID:TgqHKx3G 最近はlistと言いつつ狭義のlist(linked)じゃなくlinked arrayな事が多いけどclosureもそれかな?(触ってないごめん (三十年前の言語だけど)Pythonのコード読んだけどそうだったはず 計算量の議論なんかだとlinked listとarrayは一長一短ってことになってるが、アーキテクチャと殆どのデータの性質によって連結配列が実質万能なんで仕方ないね 抽象データ型としてcons/car/cdrというインターフェイスを提供してるなら十分lispだよ consがなんでそんな大事なのかというと、普通に使われる抽象データ型の中では最も表現力が高いこと 単に自由に伸ばせるリストのようなモノでは、構文上バイナリツリーより複雑な構造は書きにくい(ポインタを駆使しない限り) consが提供されていれば自然に平面DAGが、そしてちょっと読みにくくなる程度で任意のグラフが表現できる 化学構造やグラフをconsで扱ってるけどほんと便利だよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/279
280: デフォルトの名無しさん [sage] 2021/01/11(月) 23:51:15.24 ID:TgqHKx3G 書きにくい/やすい、ってのは環や分岐がcarとcdrとconsだけで書けるって意味ね これらのアクセサが提供されていない言語、例えはPythonやcではリストのインデックスに対応する参照/ポインタを明示的に取り出して記録し、アドレスを格納する必要がある またアルゴリズムにかける時に素の型とポインタ型を区別して場合分けする必要まである そのまま文字列として吐くのも実装しなくていいし(リンク先のインデックス表示が読みやすいとは言わないが) PythonなんかだとオブジェクトがリッチなのでnetworkXのような巨大なライブラリを使えば木を超えた表現も自然にかけるので、一時浮気をしたが… 形式言語の分野だともう線形な文字列や二分木の括弧文法は研究され尽くしてるので、グラフ文法なんかが最近流行ってlisp系言語で論文書かれてるね http://mevius.5ch.net/test/read.cgi/tech/1531587928/280
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s