「木構造」を含む日記 RSS

はてなキーワード: 木構造とは

2019-03-04

anond:20190304111934

第一章『関係記述する方法としての「基準」とその基準からの「指定」』

このベーシックイングリッシュ分析においては、「基準」とその基準からの「指定」という概念が、フローチャートの他に重要ものとして出てくる。なぜか。

それは自然言語においては下の図のような統語法則が使われるからで、そのままで単語AとBの関係記述する際に、図の通りで、集合論的にどちらかがどちらかを直接的あるいは間接的に含むという風にしか記述できない。(木構造は、ただ何が何を含んでいるかを表しているという意味で、集合論を線で表したものしか無い)

https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#/media/File:Kafka_English_tree.jpg

※この英語の図では動詞主語を含んでいて、また「monstrous verminous bug」が「a」を含んでいると解釈されているが、事実として『主語動詞を含んでいて、またaがbugを含んでいる』と解釈するのも意味的には可能な文で、私は後者採用している。「monstrous verminous bug」は一語として認識されていると考えている。

https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#/media/File:Kafkaj.jpg

wikipedia「主要部」から引用https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#%E4%B8%BB%E8%A6%81%E9%83%A8%E5%85%88%E5%B0%8E%E5%9E%8B%E8%A8%80%E8%AA%9E%E3%81%A8%E4%B8%BB%E8%A6%81%E9%83%A8%E7%B5%82%E7%AB%AF%E5%9E%8B%E8%A8%80%E8%AA%9E

そこで必要になるのが「基準」とその基準からの「指定」で、ある単語基準に他の単語指定するということによって、二つの単語関係が様々に記述できるようになる。

例えばAとBが隣り合っていることを記述したいとする。記述する方法自由に設定できるならば、「A B」と記述すれば良い。これなら「右」という単語も「左」という単語必要無い。

ただ自然言語においては、これではAがBを含んでいるということになってしまう(あるいはBがAを含んでいるということになってしまう)。そこで、Aを基準にすればBが右にあり、Bを基準にすればAが左にある、というような記述方法必要になる。

(ちなみに「right」や「left」には、前後の他に上下必要になる。前後上下が定まって、右や左が生まれる。上下重力によって生まれていて、重力自然現象なので、この分析では「right」と「left」は考察対象外とし、付録の『本文に掲載されていない単語一覧』に掲載している。)

2018-11-25

anond:20181125210407

木造建築とは特に決まった定義はないが、柱や梁などの主要な構造部分が木材でつくられた住宅のことを指す場合が多い。

木構造(もくこうぞう)は、木造ともいい、建築構造の一つで、構造耐力上主要な部分に木材を用いる構造である

う〜ん・・・わからん

端的にこれだけを見ると木で造った部屋も木造建築

2018-09-30

ツリー構造木構造って言うけど

あれ絶対木じゃなくて根っこだよね

一番上をルートって言うし

たいていルートから下に伸びてる図を描くし

根っこの下に伸びてるのは絶対根っこだって

ディレクトリを「掘る」って言うし

ほら根っこじゃん

絶対おかしいよ

2018-03-11

もりとも問題にかこつけて吐き出し

朝日新聞記事鵜呑みにして検証が表立ってほとんどなされず、毎日新聞他の記事黙殺されたままに見える。挙げ句大元が「改ざん認める」と言う。決済された文書を、何をどう書き換えたのかを明示して欲しい。

というか、枝葉のところばかり見ていないで、全体の整合性意識して欲しい。万が一、決裁者全員が結託して書き換えたのだとしても、大きな組織の中の末端が起こしたトラブルなぞ最上位の人が知るわけないじゃない。毎回末端まで把握する必要があるのなら、アホほどコストを払う必要があるし、木構造組織にする意味もない、実に非現実的世界が待っている。

全体の舵取りが実におかしい。

ともかく、国運営自国のみならず周辺国交えて微妙立場北朝鮮だけでなく、中国圧力や、暴れ米国手綱国際的イベントである自国オリンピック開催を控えて(韓●は自分のところのが概ね終わったら反日をモリモリ出してきているし)、また国内生活水準底上げが始まったばかり)なのに、足を引っ張っている人たちは何をしたいのか。

軍という単語アレルギーを持つのは仕方ないにしても、平時の備えがいざというときに役に立つの天災に対してだけでは無いことを認識して欲しい。

国際的イベントで恥をさらすということは、それだけ国力の低下を海外さらすことにもなる。

景気(「気」だけあって心持ち次第)回復についても、稼いだ人たちを引きずり落とすつもり満々な発言をしている人たちがいる。どう考えてもアベノミクスを打ち出した当時は、金を持っている人たちを太らせて引っ張ってもらうトリクルダウン方式効果的だっただろうに。行き渡りにくいという問題については改善余地が大ありだろうけど、皆で貧乏になる案よりははるかにマシだったろう。

国民は納得していない」という無敵ワード(前に進まないし、そもそもここでの「国民」って具体的にだれ?)だけで足を引っ張り続ける野党さん左翼さんはどう責任を取ってくれるのだろう。こちらこそ納得してないわい。

一行目と国運営についてだけをどこかで言いたくて勢いのまま書いてしまった。反省はしていないけど、自分の生きる世の中の動きが本当に心配だ。

2018-02-26

ハイアラー

木構造理解する時にある高さと次の高さの間だけの遷移的な関係とか、全体の高さが極めて少ない状態しか考えられない奴っているよね。日本ってそういうのが多くない? 入れ子構造を指摘すると頭の中に階層が(上|下)のbooleanでしか持ててなくて型違反起こして混乱して怒り出すような奴。

2014-12-25

ワナビに向けたラノベ創作技術論の整理と俯瞰1

2014/1/1 全文が正しく表示されていないことに気づいたため修正した。遅ればせながら指摘に感謝したい。

はじめに

ラノベ作家になりたいワナビは二種類存在する。

才能のあるワナビと才能の無いワナビである

才能のあるワナビは己の思うがまま書き連ねればそれで問題ない。一次落ちなど経験することも無く、一発で新人賞を取ったり、取れなくても編集者が連絡してきたりして遅かれ早かれデビューに至り、そしてワナビに向けたラノベ創作論を書いたりする。私はこうやってプロとして本を書いてます、どうぞ参考にしてください。

これが意味するところは、才能のあるワナビ他人の書いた創作技術本を読んで必死トレースしたりなどしなかった、という非情現実であるノウハウ本を欲するのはいだって才能のないワナビで、そして才能の無いワナビ今日選考落ちの通知を見て顔を覆うのである。○○先生の本に書いてある通りにやったのにどうしてダメなんだろうか。何がダメなんだろうか。

ラノベ創作技術本は本当に役に立つのだろうか。

スティーブン・キングプロットなど不要だと言う一方でディーンクーンツプロットの無い作品など糞だと断じる。大塚がまずキャラから作れと言う一方で冲方世界から作らないようでは話にならないと言う。

ラノベに限らず小説創作技術本はそれぞれの主張がまるでバラバラであり、まとまりがない。もっともこの手の本は意識の高いサラリーマンがこよなく愛する成功体験本と同じカテゴリである。ゆえに真面目に考える必要は無いとするのも一理あるだろう。

しかし、本当に彼らの主張はバラバなのだろうか。

実のところ彼らは単に表現が違うだけで、最終的に同じことを述べてるのではないだろうか。

手順が違うだけで、結局同じことをしているのではないだろうか。

もしそうだとすれば重要なのは手順ではなく最終的にどういう状態であるかにあり、その状態がいずれの作家も共通しているのであれば、それこそが欠かすべきではない要素ではないのか。

大沢は「技術は教えられるが、才能は教えられない」という。だがヒックスは「モノを書くことでの才能の問題は、相当に過大評価されて」いるとして、「それはやっていくことで獲得」できるものだと言う。

Hard work beats talent when talent doesn't work hard.

Tim Notke

本稿は個別の手順というより、最終的にどういった状態を目指しているのか、という観点ラノベ創作技術本の各説を整理し、俯瞰する。筆者はワナビではなく、単なる興味本位でこの整理を行ったに過ぎない。しかし才能が無いことを自覚し、それでもなお努力によってこれを覆そうというワナビにとって、本稿がより効率的努力を実現する上での一助となれば幸いである。

ラノベ定義

本稿ではラノベを「ラノベの主要レーベル新人賞に向けてワナビ執筆する、新人賞を取りうる内容の小説」と定義し、本質的ラノベ定義へは踏み込まない。このことからカテゴリエラーをめぐる問題このラノベの本質的定義限界を探ることと同義であり、本稿では割愛する。

参考文献

本稿執筆にあたり参考とした文献を下記に記載する。

作家名で適当に並べたに過ぎず、記載の順に意味は無い。

まだ参照すべき文献は多くあるが、ひとまず本稿執筆にあたっては上記で一区切りとした。

ラノベの読者

ラノベ作家商業主義であらねばならない、と五代/榊は明言し、飯田キャッシュフローを生む作品こそが素晴らしい作品なのだという。実際、ラノベ新人賞商業的に売れるラノベの発掘を目的としているのであって、ワナビ承認欲求を満たすためにあるわけではない。

新城ラノベの読者の多くは男子中高生であり、すなわち「毎月のお小遣いが限られている学生であるとする。飯田さらラノベの読者はアニメ漫画ニコニコ動画を好むオタクであるとする。そしてラノベは彼らの限られた小遣いの使い道として選択される商品でなければならない。榎本西谷水島も、いずれも同様に読者が誰かを意識しろと主張する。

ところでワナビが書いた新人賞用のラノベの読者は、中高生ではない。

新人賞の下読みの多くは大学生バイトであり(あるいは主婦新人編集者)、選考するのはプロ作家であり、プロ編集者である。いずれにせよ選考過程中高生存在しない。

読者が誰かを考えるべき、という指摘はもっともだが、プロ作家ワナビでは立場が違う。ワナビラノベレーベルで勤めるサラリーマン編集者想像する『中高生』にウケるラノベを書かなければならない。榎本現実中高生とふれあい彼らの考え方を理解しろと言うが、本当にそんなことをすれば事案待ったなしのワナビは少なからずいるだろうし、現実中高生には圧倒的にウケる20代30代の編集者には全く理解できないものがあったとすれば、それは間違いなく一次落ちである

行頭は一段空けましょう、といった小説執筆上のお作法ができていなかったからといって間違いなく多くの中高生は気にしない。しかプロは気にする。そうした基礎的作法の欠如は中高生云々の前にまず彼らに不快感を生じさせる、という点を理解しておく必要があるだろう(応募に際してはあらすじを付すようにという指示に対して小説煽り文や序文を付けるといった無理解なども根は同じだろう)。

ラノベ創作の段階に関する整理と比較

最終的なラノベに至るまでの執筆上の段階や要素は論者の数だけ存在する。例えばキングによるアイディア原稿の2段階、クーンツを始めとするアイディアプロット原稿の3段階、冲方による能書き、種書き、骨書き、筋書き、肉書き、皮書きの6段階などがある。

本稿では「アイディア」「プロット」「原稿」の3段階を用いて各説を俯瞰する。この各段階は「アイディア」が最初であるという点を除けば、随時行き来することがいずれの説においても許容される。一度「プロット」に移行したら「アイディア」へ戻ってはならないなどと主張されることはないし、「原稿」の完成に至ってから再度「アイディア」の段階に戻る作家存在する。

一方で、これらの「段階」はそれぞれ独立しているわけではないことに注意する必要がある。いずれもその前段階の上に構築されている。つまり、あるワナビが「プロット」に問題があると認識したとしても、その前段階に問題がある可能性は否定できない。これは感想や選評においても言えることであり、問題点の指摘がまったく的外れでなかったとしても、その問題引き起こしているそもそもの原因は何なのか、という点を突き詰めなければ、根本的な問題はいつまでたっても解消されないままだと言えよう。

以下、それぞれの段階についての各論に入る。

アイディア

アイディア」とは筒井がいうところの「妄想」であり、単語キーワードフレーズ、断片的な会話や場面など様々なものであり、その創作で用いるかもしれないし、用いないかもしれないネタである

冲方は「アイディア」を3段階に分けており、まず主題を考え(これを能書きと称する)、次にそこから様々な雑多なアイディア連想し(種書き)、今回はこのあたりのアイディアを使おう、と決めて整理する(骨書き)という。

しかし実際には冲方自身、これらを行きつ戻りつして執筆を進めていくとしており、「骨書き」の段階からは後戻りしないと固定しているわけでもないことから、本稿では参考として紹介するに留める。

この「アイディア」の種類についてもいくつかの主張があり、例えば冲方主題世界、人物、物語文体の5種であるとするし、榎本キャラクター世界設定、ストーリーの3種としている。分類それ自体意味を持つものではないが、それぞれが独自用語を用いて自説を主張している状態では整理のしようもないため、本稿では「主題」「世界」「登場人物」の3種に分けて整理する。

主題

本稿では主題テーマは同一の概念とみなすが、主題とは、そのラノベ創作において根幹となるアイディアのことである冲方大塚はこの主題を根として木構造状に各アイディアが繋がっていることを主張する。

主題を確定するタイミングについて冲方は真っ先に考えるとするし、大塚作成した主人公像の要素を深化させそこから主題抽出するとしている。榎本プロット作成の段階で必須としていることからそれ以前に考えておかねばならない。西谷執筆段階で突如として「物語の核」を意識する、と述べるが、この「物語の核」が主題とみなせるのであれば、プロット後に主題を決めてもいいということになるだろう。

このように主題をいつ考えるかは説によって大きな差があるが、結果としてラノベ創作において「主題」が必要不可欠だと多くの作家が述べていることに変わりはない。

繰り返しになるが、全てのアイディアの共通の祖先として「主題」は位置付けられる。従って本稿の分類で言うならば「世界」や「登場人物」は必ずこの主題関係する要素を持たねばならない。言い方を変えれば、「主題」はアイディアアイディアの共通要素として機能するため、ワナビ本人は主題として位置づけたが、それが「世界」や「登場人物」に関係していないのであればそれは「主題」ではない。

この「主題」があることの意義について、「読者は「設定資料集」を読みたいのではなく、「物語」を求めている」という榎本の指摘、また「「細部」には主題が宿る「細部」とそうでない「細部」があります。そしてあなた方の小説がしばしば欠いているのは「主題の宿る細部」なのです」という大塚の指摘を踏まえるなら、読者が「物語」と捉えるか「設定資料集」と捉えるかは「主題」の有無次第だ、ということになるだろう。

設定資料集が好きな人存在することは事実であるが、彼らは設定資料集ならなんでも好きなわけではなく、特定物語を好んだことで、その物語のより詳細な背景情報を知ることを好んでいるに過ぎない。興味のない物語設定資料集など誰も目を通してくれはしない。

このように「主題」は重要な要素であると考えるが、その表現方法に関して榎本主題台詞地の文で語ると胡散臭く、説得力が無くなるとしているし、クーンツ主題で読者を説教してはならないと注意を促している。台詞地の文での表現を避けるとなれば、多くの場合登場人物の行動、またそれによって引き起こされた出来事によって表現されることになると考えられる。

世界登場人物

本稿では会話文の主体になりうるものを形作る上で用いられる情報名前性格容姿、口調など)の総体を「登場人物」と定義する。「キャラ」「キャラクター」とこれを区別するものもあるが、特筆の無い限り本稿ではまとめて「登場人物」とみなす。

一方で、登場人物以外の全ての設定を本稿では「世界」と定義する。具体的には魔法の有無などの自然法則身分制のような社会構造、もしくは携帯電話の無い世界といった現代社会との差分もまた「世界である

いずれを先に考えるかについては諸説ある。例えば冲方水島世界が先だとするし、大塚西谷登場人物からだとする。榎本のように特に順序には言及しないものもある。

しかしながら冲方大塚の「世界」と「登場人物」が揃った状態についての言及は非常に似通っている。

冲方は「人物たちの性格や言動や行動の全般は、結局のところ、大半が、世界時代に左右されたもの」と言い、このような世界からこそ、そこに登場するこの人物はこのような設定になるのだ、という必然性要求する。

大塚もまた登場人物個性については「キャラクター所属する「世界」の物の見方価値観に由来するもの」があるとしており、その人物の設定は彼の存在する世界の設定から必然的に生じたこのような価値観に由来するのだ、という必然性要求する。どちらの側から見るかの違いだけで、冲方大塚も目指している状態は同じだと言っていいだろう。

世界登場人物リアリティ

ワナビの「世界」について「リアリティ自分身の回り3mくらいしかない」「おまえの世界には学校コンビニと自宅しか存在していないのか」と五代/榊は批判し、リアリティには細部の設定が必要不可欠だ、という立場をとっている。一方で「登場人物」の細部情報への批判としては「異能力の内容だけやたら細かい」にもかかわらず「話に全然関係ない」としており、両者をまとめると「主題」の宿る細部こそが必要不可欠であり、それ以外の細部の設定は不要だとする大塚説とほぼ同一と言っていいだろう。

冲方は「そのテーマが内在する世界を、しっかり構築することができるようにならなきゃ話にならない」と世界における主題を重く位置づけた上で「実際にその世界について書かなくても、少なくとも自分は知っていたいし知らないと駄目」と細部の設定の充実に言及する。

その一方で登場人物については、冲方はそれが主題関係しないのであれば「性別や年齢をあとから決める」とする。水島登場人物プロット上の必要性が出てから作れと述べ、最初長大キャラ表を作るというワナビありがちな行為を繰り返し否定する。ヒックスは事前定義表に基づいて穴埋めで作られた登場人物を「組み立てられた登場人物」と表し、そして「最良の脚本には、組み立てられた登場人物存在していない」と断じる。

だがこれらは登場人物に細部の設定が必要ない、という意味にはなりえない。例えばクーンツプロットをまず作ることを前提とした上で、リアリティを持った人物描写のためには、登場人物に関しても細部設定が必要だとして、身長体重、体型、年齢といった肉体的特徴、声や話し方、動作や仕草など多岐に渡る項目の設定を列挙している。

登場人物」であれ「世界」であれ、リアリティは細かな設定によって得られるものだ、という点はいずれの主張とも矛盾しない。その細部の設定が「主題」と関係する場合最初に考えるべきとする見解はあるが、関係しない場合、それがとりわけ「登場人物」の細部設定の場合、これを最初に考えることは多くの見解で明示的に否定されている、ということになる。

これとは相反する主張として、西谷はまず人物設定から始めるべきだとする。「積極性」「肉体的な強さ(美しさ)」「いざというときリーダーシップ」「やさしさ」「辛抱強さ」「頭の良さ」で点数をつけてチャート作成するのが良いとして、さらには性格趣味、髪の色からメイクの仕方、ブラジャーの形状までを設定例として挙げており、そこには「主題」との関係性への言及はない。

ところが西谷は実際の作例において仮置きの主人公を用意するに留めており、チャートについては一切触れず、細かな設定も一切用意しない。まず最初に「世界」と「主題」に取り掛かり、「企画を練り上げる段階で、主人公を変えてしまう」「主人公を引き立てる脇役は、書いている途中で思いつく」とすら述べる。

最終的なこの作例が実際の西谷の手順なのだとすればその手法はむしろ冲方寄りである このエントリーをはてなブックマークに追加ツイートシェア

2014-09-15

http://anond.hatelabo.jp/20140915134901

いやいや、XP以前の木構造のほうが圧倒的に見づらい&操作しづらいだろ…

かと言って7のスタートメニューも画面端でちまちまとスクロールさせる操作性が気に入らない

個人的には8>XP>7,Vistaだな

http://anond.hatelabo.jp/20140914142430

UI変更は単なる見た目の変化だけなら問題はないんだが、アーキテクチャ自体改悪されている場合もある。

例えばWindowsスタートメニュー周りのUIなら、かつては用途によって分類された木構造を辿るだけのシンプルものだった。

これがWindows7あたりから履歴に基づく表示になって、毎回見る度に位置が変わるようになった。「すべてのプログラム」を表示させてもずらずらプログラム名前が出るだけで、インストールしているプログラムが増えてくると目当てのものを探すのに時間がかかる。それでもまだフォルダを展開するという形で木構造を表すことはできた。

Windows8になってくるとメニューを見せずにタイル状のランチャになった。これは見栄えはするだろうがフラット構造しかないのでプログラムが増えてくると探すのが大変になる。

2014-03-06

階層DBいいじゃん

ファイルシステムディレクトリのような木構造データを格納するのは、RDBに比べたらデータ構造人間には超分かりやすいし、検索にかかる時間も簡単に見積もれるし、そもそも高速で動くし、CPUメモリも少なく済む。

確かにRDBのWHERE句に相当する部分はいちいちプログラムで実装しないといけないけど、必要な処理はどれもこれも定型的で、一度覚えてしまえば非常に楽できそう(テンプレコード用意しといて、システムに応じて微修正してコピペすればいい)。

即ち、誰でも素人からプロになれるというか、プロになるまでのコストが低いので、人材育成の面でも有利。

と、これほどまでに良いことづくめなのに、なんで廃れたのか意味が分からない。

逆にRDBデータ構造合理的なんだろうけど、人間にはとても分かりにくいし、パフォーマンスも加味した適切なテーブル設計が出来て効率いいSQLを組めるレベルの人となると、もはや適性の問題になってくる。

要するに向いてない奴にはいくら教育しても全く身につかない。一人前になれる人間が限られると言い換えてもいい。なかなかデキる人が出てこない。

そんな高度人材(?)が確保できていることが前提のDBってどうなのよ。

2013-03-28

http://anond.hatelabo.jp/20130328003550

そもそも、よくよくLinkedListクラスインターフェースを眺めてみると、これは連結リストノード表現するクラスではなく、連結リストのもの表現するクラスのようですね。こんなものをいくらネストしたところで多次元配列構造しか作ることができないのは自明でした。現段階では、元記事の文章は不適切であると言わざるを得ません。

ところで、Lispの真似事をC/C++でさせたいのであれば、タプルを定義するのが先だと思いますが、いずれにしても教育カリキュラム人材の選別過程でこのようなコードを組ませる方針は私はあまり感心しません。あれは一種のハックであって、木構造アルゴリズムコード表現する際に必須の、本質的概念ではないからです。仮に知らなくとも、それは「その人が育ってきた文化が違う」だけの話です。例えばB木を実装するにもRadix Treeの実装にしても知らないままで全く困らないでしょう。

ほかにも、計算量の評価に触れていないなど、気がかりな点はありますが、元増田からコメントもないようですので、ひとまずこのへんで。

2013-03-26

http://anond.hatelabo.jp/20130326112826

それは「今はC++の話をしているから」ですね。

あいにくLispはよく知りませんが、Lisp場合はタプルに実データだろうが他のタプルへのポインタだろうが何でも入れられるので、連結リスト自然拡張で二分木などの木構造表現できる、という話であれば理解できます

一方、Cのような変数の方に型のある言語場合、連結リスト自然な実装では

struct Node {
    int data;
    struct Node *next;
};

という感じになると思います。上記のdataにはポインタは入らない(キャストすりゃ別ですが)ので、どうしても型を修正しなければ木構造表現できないですよね。

元の記事では「LinkedListの入れ子でTree構造をつくり」とあるので、もしかして私の知らないテクニックがあるのか、何か別の前提条件があるのか(テンプレート使えとかね)、あるいはどこかに見落としがあるならご教授を頂きたいと思った次第です。

http://anond.hatelabo.jp/20130325172822

不勉強もので教えて頂きたいのですが、「LinkedListの入れ子でTree構造をつくり」というのは、どういう意味でしょう?

普通木構造といえば、ノードは子ノードを2つ以上持てるようなものから、連結リストをそのまま「入れ子」にしても木構造にはなりませんよね。どのようにして木を構成するのか、ちょっと私には思いつきませんでした。

しかすると、連結リストの各ノードに保存するcharなどのデータのかわりにポインタを入れればいいだろう、という話なのかもしれませんが、それだと「入れ子」とは言わないでしょうし。

連結リストを入れ子にして構成できる木構造があるのであれば、ご教授頂ければ嬉しいです。

2012-07-05

http://anond.hatelabo.jp/20120705093826

いや、ごめん。再帰というのは、木構造による再帰、でも、Switchによる再帰でも同じ。そのアルゴリズムで Call命令を使うのか?って事。

あとCでもswitchが嫌で かつ 再帰によるCall命令が許容されるなら、Tree関数ポインタ持たせて、関数ポインタで評価関数呼び出せばいいじゃん。

単純に要素だけ書けば

struct leaf{

  leaf *subleaf[2];

  int (*eval)(leaf *);

};

でよかろ 値を入れるときAddなら eval_add sub なら eval_sub を呼び出せばいい (データ構造と アルゴリズムの分離はCでもできる。)

どっちみち C++でも、子どものevalを親が呼ぶ 時点で call が呼ばれているから、それ再帰

 

というかC++自体が こういう vtableのC実装から 生まれている実装なので C++でできて、Cで実装できないって、テンプレとかそういうのぐらいだから

究極的にはvtalbe実装すればCでもできる。つか、昔のCのコードなんてVtableを第1引数として渡すようなものばっかだろ。

 

何が言いたいかというと、別に データ構造と アルゴリズムの分離は関数ポインタとVtableの実装によりCでもできる。

設計の問題と言語の問題が摩り替わってる。

switchテーブルが巨大化するのも 小さいクラスが無数にあるのも どっちも同じ事だよ。 

Swithならよい Classならよいってことはない。

http://anond.hatelabo.jp/20120705091019

いや、再帰は使わんと思うぞ・・・Stack Over Flow対策があるから自前で再帰は展開するぞ。

「Cならswitchテーブルを使った再帰関数で実現する必要がある」に対するレスなんだろうけど、飽くまでも「C以外の、継承オーバーライド機能がある言語では例題とほぼ同じ形で実装できるのに対してその機能がない言語では『関数内でswitchをして値ごとにdispatch、その後更に再帰』という原始的かつ全てのロジックを詰め込むせいでひとつ関数の行数が膨大になる問題を孕んでいる」という意味しか持たない。

確かにTopCoder再帰を使ったら撃墜される可能性がある事には同意だけど、今回の例ではプロコンの外側での事であってスタックオーバーフローしたなら例外をキャッチして後処理を行えば良い。

更に

問題を解くためにバイナリーツリーを使うことはあっても、バイナリーツリーを使う問題は出てこないわなぁ。

C++なら、setmapもあるし。

バイナリツリーを自前で構築して式を表現する例題(expression tree)と、set and mapは用途が違う。

setmapは本来、順序が定義できる要素をキーにしてそれそのものを保持するか、或いはそれに伴う値を結びつけて保持しておくもの

例題のexpression tree構造は「(必ずしもオペランドがふたつとは限らない)式の木を表現して、オーバーライドされたevalで式全体の評価を行う」もの

から目的が違う以上

あと 加算するか減産するかはアルゴリズムが持つものであって、木そのものが持つわけじゃない。

は成り立たない主張であるし、

全般的にその木構造なんかへんやろ。例題なのはわかるけど、それにしても、なんか変。

即興で書いたので変である事は否定しないとしても

開発言語なんて問題を解く道具であって、文章の綺麗さを競うものではないからなぁ。

C言語等のOOPが導入される前の言語で)綺麗に書く事ができないと問題を提供する側がそもそも「綺麗な解を前提とした問題」を出せない。

http://anond.hatelabo.jp/20120705081824

いや、再帰は使わんと思うぞ・・・Stack Over Flow対策があるから自前で再帰は展開するぞ。

それに 問題を解くためにバイナリーツリーを使うことはあっても、バイナリーツリーを使う問題は出てこないわなぁ。

C++なら、setmapもあるし。

あとは、分岐点が値を持ってないので、右に追加するか左に追加するかの判定ロジックも出来ないわなぁ。その構造だと。

あと 加算するか減産するかはアルゴリズムが持つものであって、木そのものが持つわけじゃない。

 

全般的にその木構造なんかへんやろ。例題なのはわかるけど、それにしても、なんか変。

 

開発言語なんて問題を解く道具であって、文章の綺麗さを競うものではないからなぁ。

2011-05-06

http://anond.hatelabo.jp/20110506165346

実際に文系理系を学んできた事と、文系気質・理系気質は別だという事を理解できないんです

部分集合と言って、文系気質・理系気質の集合を木構造で考えてる時点で、理解出来ていない事が良く分かります

2007-08-08

[][][][][]

縦横高さと tree からいきぺぢる。

「縦横高さ」が意図するものは次元だった。二次元の時は行列とも云えるのかな?

tree これははっきりしていた。所謂木構造。でも色々種類あるのね。

789
456
123

2次元、 "5" が空であってもアドレスは残る。

木構造は特に制約を定めなければ幾らでも伸びしろがある。次元は先に作っておいた次元が精一杯。次元の最小単位の中に別の次元を放り込むのは親の次元とは赤の他人だし……

n を選んで、次に m を選ぶ、これを繰り返して行くような作業をするとき、木構造でも幹線部分は密なので一見して次元に見える?

それが次元だったら深淵の底にたどり着くまで疎になっていかない、木構造だったらその限りではない、なのかしらん?

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん