- 424 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 04:03:19.69 ID:FqYYA0QW.net]
- >>415
[続き] cout << p3->name; // 1 クロックで3番目のノードのみかんにアクセス。 p3->name="orange"; // 名前を英語に直す。アクセスには1クロックしかかからない。 cout << p1->name; // 1 クロックで1番目のノードのハンバーガーにアクセス。 p1->name="hamburger"; // 名前を英語に直す。アクセスには1クロックしかかからない。 cout << p4->name; // 1 クロックで4番目のノードのドーナツにアクセス。 p4->name="donuts"; // 名前を英語に直す。アクセスには1クロックしかかからない。 書き込みも変更も、アクセスには1クロックずつしか掛からない。 これが、Rustでは借用規則に引っかかるために出来ない。 その結果、標準実装では、k番目のノードに「シーク」する必要があるため、 O(k)や、O(N)の時間が掛かってしまう。 例えば: cout << seek(ll, 3)->name; // O(N)の時間が掛かる!! seek(ll, 3)->name="orange"; // O(N)の時間が掛かる!!
|

|