以如下題目為例:
某線性表中最常用的操作是在最后一個元素之后插入一個元素和刪除第一個元素,則采用( D )存儲方式最節(jié)省運(yùn)算時間?!灸祥_大學(xué)2000 一、3】
A.單鏈表 B.僅有頭指針的單循環(huán)鏈表 C.雙鏈表 D.僅有尾指針的單循環(huán)鏈表
單鏈的循環(huán)鏈表結(jié)點(diǎn)的存儲結(jié)構(gòu)和單鏈表的存儲結(jié)構(gòu)一樣,所不同的是:最后一個結(jié)點(diǎn)的 next 域指向頭結(jié)點(diǎn),而不是“空”。這樣,由表尾很容易找到表頭。
但若鏈表較長,則由表頭找到表尾較費(fèi)時,因而,單循環(huán)鏈表往往設(shè)立尾指針而不是頭指針。

單循環(huán)鏈表都是最后一個結(jié)點(diǎn)的指針域指向頭結(jié)點(diǎn),所謂頭指針和尾指針的區(qū)別就是頭指針指向頭結(jié)點(diǎn),尾指針指向尾結(jié)點(diǎn)。
查找工作一般從指針開始,因此,對于僅有頭指針的單循環(huán)鏈表而言,若是在最后一個元素之后插入一個元素,則需要從頭指針開始,一直找到尾結(jié)點(diǎn),時間復(fù)雜度為O(n),若是刪除第一個元素,則從頭指針開始,找到表頭就可以了,時間復(fù)雜度為O(1);
對于僅有尾指針的單循環(huán)鏈表而言,若是在最后一個元素之后插入一個元素,則從尾指針找到最后一個元素,時間復(fù)雜度為O(1),若是刪除第一個元素,則從頭指針開始,找到表頭就可以了,時間復(fù)雜度為O(1);
對于雙鏈表,刪除和插入操作都很方便,但是由于其每個結(jié)點(diǎn)有兩個指針,運(yùn)算時間相較于單循環(huán)鏈表還是較多的。
因此,選擇帶有尾指針的單循環(huán)鏈表最好。文章來源:http://www.zghlxwxcb.cn/news/detail-503470.html
帶頭結(jié)點(diǎn)頭指針與帶頭結(jié)點(diǎn)尾指針的學(xué)習(xí) - 簡書 (jianshu.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-503470.html
到了這里,關(guān)于單循環(huán)鏈表頭指針和尾指針的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!