数据结构习题练习(一)-绪论
生活随笔
收集整理的這篇文章主要介紹了
数据结构习题练习(一)-绪论
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章首發及后續更新:https://mwhls.top/941.html
新的更新內容請到mwhls.top查看。
無圖/格式錯誤請到上方的文章首發頁面查看。
數據結構習題練習目錄
參考:數據結構實驗與習題
答案是參考書給的,有疑問我的我會備注一下。
分析都是個人觀點,但都是我確定的,
不過有些可能會因為我頭發長見識短不知道的,麻煩評論提醒一下。
排版很擠,但我寫的時候有空行,WordPress不顯示沒辦法,
先用斜體區分一下,我后面想辦法處理。
加上句號來占位換行了。
選擇題
① A.操作對象 B.計算方法 C.邏輯存儲 D.數據映象
② A.結構 B.關系 C.運算 D.算法
① A.算法 B.數據元素 C.數據操作 D.邏輯結構
② A.操作 B.映象 C.存儲 D.關系
A.動態結構和靜態結構 B.緊湊結構和非緊湊結構
C.線性結構和非線性結構 D.內部結構和外部結構
A.隨機存取 B.順序存取 C.索引存取 D.散列存取
① A. 找出數據結構的合理性 B. 研究算法中的輸入和輸出的關系
C. 分析算法的效率以求改進 D. 分析算法的易懂性和文檔性
② A. 空間復雜性和時間復雜性 B. 正確性和簡明性
C. 可讀性和文檔性 D. 數據復雜性和程序復雜性
① A. 計算方法 B. 排序方法
C. 解決問題的有限運算序列 D. 調度方法
② A. 可行性、可移植性和可擴充性 B. 可行性、確定性和有窮性
C. 確定性、有窮性和穩定性 D. 易讀性、穩定性和安全性
A. 正確 B. 不正確
A. 必須是連續的 B. 部分地址必須是連續的
C. 一定是不連續的 D. 連續或不連續都可以
A. 線性表的線性存儲結構優于鏈表存儲結構
B. 二維數組是其數據元素為線性表的線性表
C. 棧的操作方式是先進先出
D. 隊列的操作方式和先進后出
A. 正確 B. 不正確
填空題
之間存在③關系。
for (i=0;i<n;i++)
for (j=0;j<m;j++)
A[i][j]=0;
i=s=0;
while (s<n)
{ i++; /i=i+1/
s+=i; /s=s+1/
}
s=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
s+=B[i][j];
sum=s;
i=1;
while (i<=n)
i=i*3;
程序設計題
選擇題分析
① A.操作對象 B.計算方法 C.邏輯存儲 D.數據映象
② A.結構 B.關系 C.運算 D.算法
這題屬于死記硬背的東西,我也想不出解釋的東西。
.
① A.算法 B.數據元素 C.數據操作 D.邏輯結構
② A.操作 B.映象 C.存儲 D.關系
同上,記下來吧*2。
.
A.動態結構和靜態結構 B.緊湊結構和非緊湊結構
C.線性結構和非線性結構 D.內部結構和外部結構
同上,記下來吧*3。
線性結構大概就是各結點最多只有一個直接前驅和直接后繼,
非線性結構當然就是想多少前驅后繼就多少咯。
.
A.隨機存取 B.順序存取 C.索引存取 D.散列存取
答案為AB
隨機存取表示能直接存取某位置的元素,大概就是知道了數組名,就能直接存取任一位置數據,
順序存取跟它相反,像線性鏈表,知道頭結點后還需要一個個讀取才能找到特定位置。
線性表的順序存儲結構就是數組,鏈式存儲結構就是線性鏈表。
.
① A. 找出數據結構的合理性 B. 研究算法中的輸入和輸出的關系
C. 分析算法的效率以求改進 D. 分析算法的易懂性和文檔性
② A. 空間復雜性和時間復雜性 B. 正確性和簡明性
C. 可讀性和文檔性 D. 數據復雜性和程序復雜性
首先可以肯定的是,算法兩個重要特征就是空間復雜度和時間復雜度,所以2大概率是A,
那么由2推1,就是要改進效率了。
.
① A. 計算方法 B. 排序方法
C. 解決問題的有限運算序列 D. 調度方法
② A. 可行性、可移植性和可擴充性 B. 可行性、確定性和有窮性
C. 確定性、有窮性和穩定性 D. 易讀性、穩定性和安全性
這個題也是死記硬背的內容,
不過也很好記,每個特性的意義看一下,就能記下來了,
目的都是維護算法正確性的。
.
A. 正確 B. 不正確
線性表的數組存儲,邏輯和存儲順序是一樣的,因為數組存儲在一段連續的內存空間中,
但鏈表存儲,存儲順序就不連續了,內存里面到處都是。
.
A. 必須是連續的 B. 部分地址必須是連續的
C. 一定是不連續的 D. 連續或不連續都可以
鏈式存儲對地址沒有要求,只要有地址就行了,要是就兩個結點,多存儲幾次,總能碰到連續的是吧。
.
A. 線性表的線性存儲結構優于鏈表存儲結構
B. 二維數組是其數據元素為線性表的線性表
C. 棧的操作方式是先進先出
D. 隊列的操作方式和先進后出
數組是線性表,那么一維數組和二維數組都是線性表,
二維數組里面每個元素都是一維數組,
那么二維數組就是線性表的線性表了。
.
A. 正確 B. 不正確
例如C語言的二維數組,行列長度都是相等的,不能插入刪除某個位置。
填空題分析
線性結構前面講過了,就是前驅后繼最多一個,
樹形結構就是前驅最多一個,后繼隨便,
圖形結構就是前驅隨便,后繼也隨便,
大概也是死記硬背的題目吧。
.
送分題,只要隨便找一個線性結構舉例就行了,像鏈表,棧,隊列都是。
.
這題得扣字眼,題中有前驅和后續(我更習慣后繼)的字眼,
那么1就填前驅,3就后繼,
2 4就是把樹拿出來看看就明白了。
我覺得難點在4,看了答案我才明白它說的還是數量,不過這也能根據前文推出。
.
把圖拿出來看看就明白了,
這題有說結點數,比上題更親民一點。
.
我討厭這種題目,我還以為是前后、父子、平等這種關系,可惡。
就是三種結構的定義。
.
這是死記硬背的地方了,我最討厭的就是這種。
.
for (i=0;i<n;i++)
for (j=0;j<m;j++)
A[i][j]=0;
這是兩層循環,還是定長循環,里面的賦值語句時間復雜度為O(1),因此就是兩層的乘積。
.
i=s=0;
while (s<n)
{ i++; /i=i+1/
s+=i; /s=s+1/
}
題目錯了,s+=i與s=s+1不等效,應該是注釋錯了。
這題我也不清楚,我還以為是O(n)。
.
s=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
s+=B[i][j];
sum=s;
和第7題一樣。
.
i=1;
while (i<=n)
i=i*3;
就是i3 = n,那么i = log3n,是個數學問題。
程序設計題分析
本來想寫點厲害的,腦子好像有點空,寫出來除了難看懂沒有特別的,就無腦輸出了。
總結
以上是生活随笔為你收集整理的数据结构习题练习(一)-绪论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IaaS(基础设施即服务),PaaS(平
- 下一篇: 3.SEO优化--网站死链解决