資料結構 ch2測試題

2021-10-05 02:31:41 字數 2997 閱讀 1631

1.( 單選題 | 4 分)

用單鏈表方式儲存的線性表,儲存每個結點需要兩個域,乙個是資料域,另乙個是( b ).

a.當前結點的所在位址

b.後繼結點的所在位址

c.空指標域

d.空閒域

儲存結點=資料域+指標域

空指標:null,沒有基型別的指標,如malloc建立的指標。

2.不帶頭結點的單鏈表head為空的判定條件是 ( a ).

a.head=null

b.head→next=null

c.head→next=head

d.head!=null

在不帶頭結點的單鏈表head中,head指向第乙個元素結點,head=null表示該鍊錶為空

3.帶頭結點的單鏈表head為空的判定條件是( b ).

a.head=null

b.head->next=null

c.head->next=head

d.head->next->next=null

頭指標l指向頭結點。引入頭指標的主要目的是為了處理方便。

4.鍊錶不具有的特點是( b )。

a) 不必事先估計儲存空間

b) 可隨機訪問任一元素

c) 插入、刪除不需要移動元素

d) 所需空間與線性表長度成正比

不同於順序表,鍊錶是一種非隨機儲存結構

5.線性結構中的乙個結點代表乙個資料元素,通常要求同一線性結構的所有結點所代表的資料元素具有相同的特性,這意味著___c___。

a. 每個結點所代表的資料元素都一樣

b.每個結點所代表的資料元素包含的資料項的個數要相等

c.不僅資料元素所包含的資料項的個數要相等,而且對應資料項的型別要一致

d.結點所代表的資料元素有同一特點

6.若某線性表最常用的操作是訪問任一指定序號的元素和在最後進行插入和刪除運算,則利用()儲存方式最節省時間。

a.順序表

b.雙鏈表

c.帶頭結點的雙迴圈鍊錶

d.單迴圈鍊錶

訪問任一指定序號,只有隨機儲存的順序表可以實現

7.某線性表中最常用的操作是在最後乙個元素之後插入乙個元素和刪除第乙個元素,則採用( d )儲存方式最節省運算時間

a.單鏈表

b.僅有頭指標的單迴圈鍊錶

c.雙鏈表

d.僅有尾指標的單迴圈鍊錶

僅有尾指標的單迴圈鍊錶可以直接得到最後乙個元素。由於是單迴圈鍊錶,因此可以再往前遍歷乙個元素就能得到頭元素。僅有頭指標的單迴圈鍊錶要從頭開始遍歷。雙鏈表要麼從前往後遍歷,要麼從後往前遍歷。

8.線性表若採用鏈式儲存結構時,要求記憶體中可用儲存單元的位址 (d )

a.必須是連續的

b.部分位址必須是連續的

c.一定是不連續的

d.連續不連續都可以

在鏈式儲存結構中,儲存資料結構的儲存空間可以不連續,各資料接點的儲存順序與資料元素之間的邏輯關係可以不一致,而資料元素之間的邏輯關係是由指標域來確定的。

11.線性表是具有 n 個( c )的有限序列(n>0)

a.表元素

b.字元

c.資料元素

d.資料項

資料元素,是資料的最小單位,

資料項,是構成資料元素的最小單位。

12.在乙個以h為頭的單迴圈鏈中,p指標指向鏈尾的條件是( a)

a.p->next=h

b.p->next=nil

c.p->next->next=h

d.p->data=-1

迴圈鏈中尾指標下乙個指向頭指標

13.在雙向迴圈鍊錶中,在p指標所指向的結點前插入乙個指標q所指向的新結點,其修改指標的操作是 ( c )

a.p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=p;

b.p->llink=q;p->llink->rlink=q;q->rlink=p;q->llink=p->llink;

c.q->rlink=p;q->liink=p->llink;p->llink->rlink=q;p->llink=q;

d.q->llink=p->llink;q->rlink=p;p->llink=q;p->rlink=q;

q的左指標賦為p的左指標,q的右指標賦為p,這兩步可以互換;然後將p的左指標指向的結點的右指標賦為q;最後將p的左指標賦為q

14.在乙個單鏈表hl中,若要向表頭插入乙個由指標p指向的節點,則需要執行語句序列( d )。

a.hl=p;p->next=hl;

b.p->next=hl;hl=p;

c.p->next=hl;p=hl;

d.p->next=hl->next;hl->next=p

hl為鍊錶的頭指標。hl指示鍊錶中第乙個節點的儲存位置,在表頭插入乙個由指標p指向的節點後,頭指標指向p,p的指標域指向原煉表中第乙個節點

15.(1)靜態鍊錶既有順序儲存的優點,又有動態鍊錶的優點,所以,它訪問表中第i個元素的時間與i無關。(2)靜態鍊錶中能容納的元素個數的最大數在表定義時就確定了,以後不能增加。(3)靜態鍊錶與動態鍊錶在元素的插入、刪除上類似,不需做元素的移動。以上錯誤的是( b)。

a.(1),(2)

b.(1)

c.(1),(2),(3)

d.(2)

靜態鍊錶使用結構體陣列來實現線性鍊錶的功能。因為其用游標cur來指示下乙個資料元素的儲存位置,所以訪問資料時靜態鍊錶同線性鍊錶(單鏈表)是相似的。也就是說,靜態鍊錶在訪問表中第i個元素的時間同i是相關的

16.指標的全部作用就是( c ).

a.指向某常量

b.指向某變數

c.指向某結點

d.儲存某資料

軟體測試的藝術 CH2

by glenford j.myers u.s.a 測試是為發現錯誤而執行程式的過程 軟體測試心理學 人類的行為總是傾向於具有高度目標性,建議乙個正確的目標有重要的心理學影響,如果我們的目標在於證明程式中的錯誤,那我們設計的測試資料就會發現更多的問題,反之,則相反。如果在測試階段發現了錯誤並且成功得...

資料結構測試題(樹的相關操作)

假設二叉樹的資料元素為字元,採用二叉鏈式儲存結構。二叉樹adt實現的大部分 已經給出,其中採用完全前序序列建立二叉樹。請補充寫出下列兩個操作函式。注意 答案區只寫出兩個函式,其他 不允許修改和重寫 提交!1 計算以某結點為根的二叉樹的高度 2 以前序順序輸出各個元素結點為根的子樹的高度 例如 有如右...

《資料結構》(C語言版)ch2 線性表學習筆記

malloc 分配記憶體後不初始化 分配成功 若分配成功,其返回型別是void 表示未確定型別的指標,c,c 規定void可以強轉為任何其他型別的指標,關於void還有一種說法就是其他任何型別都可以直接賦值給它,無需進行強轉,但是反過來不可以 其返回指向被分配記憶體空間的指標,即指向一段可用記憶體的...