アプリ版:「スタンプのみでお礼する」機能のリリースについて

生命情報工学

二分探索木

Insert(node, object)
if(object < node.object)

ってどういういみですか??nodeのobject関数っていうのがどんなものにしろ、出てくるものってキーとかだからobjectと比較対象にないとおもいます。

A 回答 (4件)

おそらくは、二分探索木における挿入操作の


... 目的の値 < 着目しているノード(の値) なら ...
の部分を実装していると思われます。
https://ja.wikipedia.org/wiki/%E4%BA%8C%E5%88%86 …

そもそも比較できない値は二分探索できないので、
目的の値とノードの値は必ず比較できるはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。たぶんそうです!!

お礼日時:2023/11/12 13:54

C++なら比較演算子をクラスごとに定義できますから、objectが比較演算子を持つクラスのインスタンス変数なら成り立ちますね。

node.objectもnodeクラスのメンバー変数objectなので、これがobjectと同じ型なら比較に問題ありませんし。
    • good
    • 0
この回答へのお礼

ごめんなさい。
node.objectは ノードnode自身の値を表わす。多分プロパティとかフィールドとかメンバ変数とかの類で関数やメソッドでは無いと思われる。
の意味がよくわかりません。

お礼日時:2023/11/10 10:08

こんな一部分見せられてもわからない。


普通の人なら、変数名や関数名等はその意味を表わすような名前を付けるけど、そうでなくてもコンピュータ側はまったく問題ない。
(削除するための関数にcreateと名前を付けても、ちゃんと削除してくれる)


よくある実装で、普通の命名感覚を持っている人が作ったプログラムなら次のようになっているとエスパーできる。
が、まったくの大外れかもしれない。

・node 探索木のノード
右側の木への参照/ポインタ、左側の木への参照/ポインタ、自身の値 を記憶している。
node.objectは ノードnode自身の値を表わす。多分プロパティとかフィールドとかメンバ変数とかの類で関数やメソッドでは無いと思われる。

・Insert(node, object)
ノードnodeをルートとする二分探索木に 値objectを持つノードを追加する

・if(object < node.object)
検索する値(あるいは挿入しようとしている値)object と ノードnodeの値node.object を比較し、objectの方が小さかったら、という判定をしている。
この直後には nodeの左の木に対して処理を続けるような処理があるはず。
    • good
    • 0
この回答へのお礼

助かりました

ありがとうございます。すごいわかりました~ (ノ∀`)

お礼日時:2023/11/12 13:55

どんな言語なのかも書いてなければそれぞれの定義も書かれていない.



結論: そもそも質問として成立しない.
    • good
    • 1
この回答へのお礼

???????????

お礼日時:2023/11/12 13:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています