面試題:以下關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中那個(gè)是正確的?
A:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不是順序存取結(jié)構(gòu)
B:邏輯上相鄰的節(jié)點(diǎn)物理上必須鄰接
C:可以通過(guò)計(jì)算直接確定第i 個(gè)節(jié)點(diǎn)的存儲(chǔ)地址
D:插入、刪除運(yùn)算操作方便,不必移動(dòng)節(jié)點(diǎn)
答案:D
知識(shí)解析:存儲(chǔ)結(jié)構(gòu)分為一下四種
(1)隨機(jī)存取,即可以隨意直接存取任意一個(gè)元素,可以通過(guò)下標(biāo)直接存取任何一個(gè)元素如數(shù)組等;又如內(nèi)存,可以通過(guò)地址直接訪(fǎng)問(wèn)任意一個(gè)空間。
(2)順序存取,就是只能從前到后逐個(gè)訪(fǎng)問(wèn)。像鏈表這種結(jié)構(gòu),不能夠直接通過(guò)下標(biāo)訪(fǎng)問(wèn),必須從表頭開(kāi)始,向后逐個(gè)搜索,就是順序存取。這和磁帶一樣,想聽(tīng)后邊的歌曲,就得把前邊的磁帶轉(zhuǎn)過(guò)去,按照順序來(lái)。
(3)索引存取是指某個(gè)關(guān)鍵詞建立索引表,從所有的表中得到地址,在直接訪(fǎng)問(wèn)。索引存取多用在數(shù)據(jù)管理過(guò)程中。
(4)散列存儲(chǔ)是建立散列表,它相當(dāng)于一種索引。
鏈?zhǔn)酱鎯?chǔ)是順序存儲(chǔ)的,因?yàn)樵谶壿嬌希鎯?chǔ)的節(jié)點(diǎn)不在相鄰的物理位置,要訪(fǎng)問(wèn)時(shí)需通過(guò)前一個(gè)節(jié)點(diǎn)的指針域來(lái)訪(fǎng)問(wèn)下一節(jié)點(diǎn),只能按順序進(jìn)行存儲(chǔ)和讀取,而順序存儲(chǔ)是隨機(jī)訪(fǎng)問(wèn)數(shù)據(jù)。
更多Java知識(shí),Java視頻,Java教程盡在動(dòng)力節(jié)點(diǎn)Java培訓(xùn),關(guān)注動(dòng)力節(jié)點(diǎn)官方微信,獲得一手Java面試題。