雙向鏈表圖解 雙向鏈表是非線性結(jié)構(gòu)?
雙向鏈表是非線性結(jié)構(gòu)?不是。它是一個線性結(jié)構(gòu)。線性結(jié)構(gòu)是指數(shù)據(jù)元素之間具有“一對一”線性關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中只有一個根節(jié)點,如循環(huán)鏈表和雙向鏈表;非線性結(jié)構(gòu)是指數(shù)據(jù)元素之間具有“一對多”非線性關(guān)系的數(shù)
雙向鏈表是非線性結(jié)構(gòu)?
不是。它是一個線性結(jié)構(gòu)。
線性結(jié)構(gòu)是指數(shù)據(jù)元素之間具有“一對一”線性關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中只有一個根節(jié)點,如循環(huán)鏈表和雙向鏈表;非線性結(jié)構(gòu)是指數(shù)據(jù)元素之間具有“一對多”非線性關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中可以有一個根節(jié)點,例如樹結(jié)構(gòu),或者多個根節(jié)點,例如網(wǎng)絡。
單向鏈表和雙向鏈表的區(qū)別?
單向鏈表:單向鏈表包含兩個字段,一個是信息字段,另一個是指針字段。也就是說,單向鏈表的節(jié)點分為兩部分,一部分是保存或顯示該節(jié)點的信息,第二部分存儲下一個節(jié)點的地址,最后一個節(jié)點指向空值。優(yōu)點:在單向鏈表中添加和刪除節(jié)點比較簡單。遍歷時沒有死循環(huán)。(雙向不會循環(huán),循環(huán)列表忘記控制,很容易進入循環(huán));缺點:只能自始至終遍歷。我們只能找到接班人,不能找到先行者,也就是說,我們只能前進。雙向鏈表:每個節(jié)點有2個鏈接,一個是前一個節(jié)點(當這個鏈接是第一個鏈接時,指向空值或空列表),另一個是后一個節(jié)點(當這個鏈接是最后一個鏈接時,指向空值或空列表)。也就是說,雙向鏈表有兩個指針,一個是指向上一個節(jié)點的指針,另一個是指向下一個節(jié)點的指針。優(yōu)點:可以找到前驅(qū)和后繼,可以進退;缺點:添加刪除節(jié)點復雜。