気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
headがダミーノードだった場合と
ポインタ変数だった場合で
head -> 要素1 -> 要素2 -> tail
のリストで
- 要素1と要素2の間に要素を挿入する場合
- 要素1の前に要素を挿入する場合
を考えてみるとわかるかな、と思いますが
headをつなぎ替える場合を特別扱いする必要がなくなるのがメリットです。
デメリットは若干分かりづらい、列挙の場合にダミーを飛ばす必要がある
程度で軽微なものです。
投稿2018/10/22 09:34
編集2018/10/22 09:35総合スコア15147
0
ダミーとはheadやtailのことでしょうか?
そういう意味であればheadは最初のノードを示すために使用し、
tailは最後のノードを示すために使います。
循環リストであればtailはなくても問題はないでしょう。
ただ単に前後のノードを繋いでおくのであればheadもtailも不要ですが、
どこが先頭のノードなのかである目印としてheadを用意しておくことが目的です。
最初の目印をheadではなく、最初のノードを直接変数で持っておけば
もちろんheadがなくても問題ないかと思います。
[コメント欄からの追記]
dice142さんがおっしゃているheadは最初のノードを示すためだけであり、ダミーという空リストか否かは関係ないのではないかというところです。
「headは最初のノードを示すため」というのは「headが最初の要素」というのではなく、
「head自体は値を持たずリンクのみあるノード」という意味です。
最初の回答では抜けてましたが、値を持っていないことを前提としているので、説明文中のダミーと同義ですね。
あくまでも説明中の言葉としてheadを使っているので、変数名としてのheadではないことをお間違えなきよう。
ちなみに、ダミーとは空リストではなく、(言葉があるかは知りませんが)空ノード(値を持たないノード)です。
リストはノードで繋がったまとまりを指し、空リストはその繋がりがないものを指します(ダミーは繋がりから除く)。
ただの言い間違いなら問題ないのですが、念のため。
投稿2018/10/22 09:10
編集2018/10/22 10:01総合スコア5158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 09:21
2018/10/22 09:30
2018/10/22 09:32
2018/10/22 09:33
2018/10/22 09:44
2018/10/22 10:34
0
Wikipedia: 連結リスト
Wikipediaを参考にする限りでは、連結リストというデータ構造にダミー(エントリーポイント?)はそもそも無さそうです。
投稿2018/10/22 09:01
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 09:19
退会済みユーザー
2018/10/22 09:26
2018/10/22 09:31
退会済みユーザー
2018/10/22 09:44 編集
退会済みユーザー
2018/10/22 09:47
2018/10/22 10:32
0
問題文を読み間違っている可能性大です。
投稿2018/10/22 08:50
総合スコア28660
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 09:19
2018/10/22 09:40
2018/10/22 09:46
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 09:42
2018/10/22 09:49
2018/10/22 09:53
2018/10/22 10:03
2018/10/22 10:05
2018/10/22 10:09
2018/10/22 10:31
退会済みユーザー
2018/10/22 11:00
退会済みユーザー
2018/10/22 12:50