数据结构练习题——线性表
一、判斷正誤
(? F? )1. 順序存儲方式的優(yōu)點(diǎn)是存儲密度大,且插入、刪除運(yùn)算效率高。
(? T? )2. 線性表在物理存儲空間中也一定是連續(xù)的。
(? F? )3. 線性表在順序存儲時(shí),邏輯上相鄰的元素未必在存儲的物理位置次序上相鄰。
(? F? )4. 順序存儲方式只能用于存儲線性結(jié)構(gòu)。
(? F? )5. 線性表的邏輯順序與存儲順序總是一致的。
?
二、單項(xiàng)選擇題
(? C?? )1.數(shù)據(jù)在計(jì)算機(jī)存儲器內(nèi)表示時(shí),物理地址與邏輯地址相同并且是連續(xù)的,稱之為:
(A)存儲結(jié)構(gòu)????? (B)邏輯結(jié)構(gòu)????? (C)順序存儲結(jié)構(gòu)???? (D)鏈?zhǔn)酱鎯Y(jié)構(gòu)
(?? B? )2. 一個(gè)向量第一個(gè)元素的存儲地址是100,每個(gè)元素的長度為2,則第5個(gè)元素的地址是?????
(A)110???? (B)108???????? (C)100????? (D)120
(?? A? )3. 在n個(gè)結(jié)點(diǎn)的順序表中,算法的時(shí)間復(fù)雜度是O(1)的操作是:
(D) 將n個(gè)結(jié)點(diǎn)從小到大排序
(? B?? )4. 向一個(gè)有127個(gè)元素的順序表中插入一個(gè)新元素并保持原來順序不變,平均要移動? 個(gè)元素
(A)8???? (B)63.5???????? (C)63???? (D)7
(? C?? )5.線性表是具有n個(gè)________的有限序列(n>0)。?
A.表元素??? B.字符??? C.數(shù)據(jù)元素???? D.數(shù)據(jù)項(xiàng)???
?
?
三、編程題
1.請寫一個(gè)算法將順序存儲結(jié)構(gòu)的線性表(a1...an)逆置為(an...a1),要求使用最少的附加空間。
?
?
Status ListOppose(SqList &L)
{?? // 顛倒順序表中的數(shù)據(jù)元素
??? int i;
??? ElemType x;
??? for(i=0; i< L.length/2; i++)?????? // 只需要遍歷原表的一半就可以實(shí)現(xiàn)數(shù)據(jù)元素位置的交換
??? {
??????? x = L.elem[i];
??????? L.elem[i] = L.elem[L.length-i-1];??????? // 數(shù)據(jù)元素交換->逆置
????? ??L.elem[L.length-i-1] = x;???????????????
??? }
??? return OK;
}
總結(jié)
以上是生活随笔為你收集整理的数据结构练习题——线性表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么才是【Python】中的鸭子类型和猴
- 下一篇: 【VulnHub靶场】——HARRYPO