[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/27 03:27 / Filesize : 361 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++ vs Rust



475 名前:デフォルトの名無しさん [2021/11/28(日) 18:32:54.89 ID:Izo/gJUY.net]
>>463
>>リンクリストで、一度作成したノードのアドレスはずっと保存する
>って、どこにどういう形で保存するのです?

・リンクリスト全体のノードを辿ればいい場合には保存する必要が無い。
 なお、その場合、1ノード右側のノードのアドレスを取得するのは1〜2クロック
 しかかからない。

・例えば、1000個のノードが入っている場合の、特定の 2 個のポインタを
 保存したい場合には、グローバル変数の2つのポインタにそれぞれの
 アドレスを代入しておけばよい。
 それは丁度、ArrayList(vector)の場合であれば、添え字番号を2つの整数
 変数に代入しておくのと全く同じこと。

・要は、ノードを識別するための数値が、配列では整数型の添え字番号であったところが、
 リンクリストでは、ポインタ型のアドレスになるというだけのこと。
 決して後者に置いては、通し番号を使ってはいけない。
 数学的には、次のような双対関係の様なものが存在していると考えられる:
 (配列, 添え字) <---> (リンクリスト, アドレス)
 QZを含めて、この双対関係を理解できておらず、
 (配列, 添え字) <---> (リンクリスト, 添え字)
 と間違って理解してしまっている人が多いことから、リンクリストでのランダムアクセス
 が O(N)などと謝った認識に至ってしまう人が多いと考えられる。
 しかし、正しく双対関係を理解すれば、O(1)であることが理解できよう。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<361KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef