資料結構 緒論 練習題

2021-09-16 19:28:28 字數 1884 閱讀 6840

a.

找出資料結構的合理性

b.研究演算法的輸入

/輸出關係

c.分析演算法的效率以求改進

d.分析演算法的易讀性

答案:c

什麼是資訊?廣義地講,資訊就是訊息。宇宙三要素(物質、能量、資訊)之一。它是現實世界各種事物在人們頭腦中的反映。此外,人們通過科學儀器能夠認識到的也是資訊。資訊的特徵為:可識別、可儲存、可變換、可處理、可傳遞、可再生、可壓縮、可利用、可共享。

什麼是資料?因為資訊的表現形式十分廣泛,許多資訊在計算機中不方便儲存和處理,例如,乙個大

樓中4部電梯在軟體控制下排程和執行的狀態、乙個商店中商品的在庫明細表等,必須將它們轉換成資料才能很方便地在計算機中儲存、處理、變換。因此,資料

(data)

是資訊的載體,是描述客觀事物的數、字元、以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。在計算機中,資訊必須以資料的形式出現。

(1)a=(k,r),其中:

k=r=

r=(2)b=(k,r),其中:

k=r=

r=(3)c=(k,r),其中:

k=r=

r=這裡的圓括號對表示兩結點是雙向的。

解:(1)a對應邏輯圖形如下,它是一種線性結構。

(2)b對應邏輯圖形如下,它是一種樹形結構。

(3)c對應邏輯圖形如下,它是一種圖形結構。

解:因為,語句

①的頻度是2;語句②

的頻度是n;語句③

的頻度是n-1;語句④

的頻度是n-1;語句⑤

的頻度是n-1;

故,該程式段的時間複雜度t(n)=2+n+3*(n-1)=4n-1=o(n)。

inti,j,

k;for(

i=0;i〈

n;i++〉

for(

j=0;j〈

n;j++〉

解:語句

①的迴圈控制變數i要增加到

n,測試到

i=n成立才會終止,故它的頻度為

n+1;語句②

作為語句

①迴圈體內的語句應該執行n次,但語句

②本身要執行n+1次,故語句

②的頻度是n(

n+1);

同理可得語句③、

④和⑤的頻度分別是n2,n2(

n+1)和n3。

該程式段所有語句的頻度之和為:t(n)

=2n3+3n2+2n+1

、其複雜度為o(n3)

'); (window.slotbydup = window.slotbydup || ).push(); })();

'); (window.slotbydup = window.slotbydup || ).push(); })();

資料結構練習題

設pa,pb分別指向兩個帶頭結點的有序 從小到大 單鏈表。仔細閱讀如下的程式,並回答問題 1 程式的功能 2 s1,s2中值的含義 3 pa,pb中值的含義。include include typedef struct list list void exam list pa,list pb else...

資料結構課後緒論習題

1.在程式設計中,可採用下列三種方法實現輸出和輸入 1 通過scanf和printf語句 2 通過函式的參數顯式傳遞 3 通過全域性變數隱式傳遞.試討論這三種方法的優缺點 2.在程式設計中,常用下列三種不同的出錯處理方式 1 用exit語句終止執行並報告錯誤 2 以函式的返回值區別正確返回或錯誤返回...

資料結構 鍊錶 練習題1

2.已知乙個帶表頭結點的單鏈表,結點結構為data link,假設該鍊錶只給出了頭指標list。在不改變鍊錶的前提下,請設計乙個盡可能高效的演算法,查詢鍊錶中倒數第k個位置上的結點 k正為整數 若查詢成功,演算法輸出該結點的data域的值,並返回1 否則,只返回0.要求 1 描述演算法的基本設計思想...