PTA 資料結構與演算法 線性表

2021-09-22 21:06:27 字數 3926 閱讀 3578

1.對於順序儲存的長度為n的線性表,刪除第乙個元素和插入最後乙個元素的時間複雜度分別對應為o(1)和o(n)。 (1分)tf

2.在順序表中邏輯上相鄰的元素,其對應的物理位置也是相鄰的。 (1分)tf

3.順序儲存的線性表可以隨機訪問。(1分)tf

4.順序儲存結構的主要缺點是不利於插入或刪除操作。 (1分)tf

5.所謂隨機訪問,就是通過首位址和元素的位序號值可以在o(1)的時間內找到指定的元素。 (1分)tf

6.在順序表上進行插入、刪除操作時需要移動元素的個數與待插入或待刪除元素的位置無關。 (1分)tf

7.順序儲存方式只能用於儲存線性結構。 (1分)tf

8.在順序表中取出第i個元素所花費的時間與i成正比。 (1分)tf

9.在單向鍊錶中,頭指標中存放的是頭結點的內容。 (1分)tf

10.單向鍊錶中的每個結點都需要動態分配記憶體空間。 (1分)tf

11.通常使用結構的巢狀來定義單向鍊錶結點的資料型別。 (1分)tf

12.用鍊錶代替陣列進行資料操作時,查詢更加方便。 (1分)tf

1.陣列a[1…5,1…6]每個元素佔5個單元,將其按行優先次序儲存在起始位址為1000的連續的記憶體單元中,則元素a[5,5]的位址為:(2分)選項a

1120

b1125

c1140

d1145

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

雙鏈表b

單迴圈鍊錶

c帶頭結點的雙迴圈鍊錶

d順序表

3.若長度為n的線性表採用順序結構,在第i個資料元素之前插入乙個元素,需要它依次向後移動()個元素。 (2分)選項a

n-ib

n-i+1

cn-i-1di

4.已知線性表中的元素以值遞增有序排列,閱讀下列程式,該演算法的功能是()。 (2分)

typedef

struct

seqlist;

void

fun3

(seqlist&l, elemtype min, elemtype max)

選項a

刪除順序表中所有值小於min或大於max的元素

b將順序表中值大於min且小於max的元素向前移動

c刪除順序表中所有值大於min且小於max的元素

d將順序表中值大於max的元素向前移動min個位置

5.對於順序表的優缺點,以下說法錯誤的是( )。 (2分)選項a

無需為表示結點間的邏輯關係而增加額外的儲存空間

b可以方便地隨機訪問表中的任一結點

c插入和刪除運算較方便

d容易造成一部分空間長期閒置而得不到充分利用

6.串是一種特殊的線性表,其特殊性體現在()。(2分)選項a

可順序儲存

b資料元素是乙個字元

c可鏈結儲存

d資料元素可以是多個字元

7.用陣列表示線性表的優點是()。 (2分)選項a

便於插入和刪除操作

b便於隨機訪問

c可以動態地分配儲存空間

d不需要占用一片相鄰的儲存空間

8.閱讀下列程式,其功能是()。 (2分)

typedef

struct

seqlist;

void

fun1

(seqlist&l)

}

選項a

將順序表原地逆置

b將鍊錶原地逆置

c將順序表首尾元素對換

d將鍊錶首尾元素對換

9.順序儲存表示中資料元素之間的邏輯關係是由( )表示的。 (2分)選項a

指標b邏輯順序

c儲存位置

d問題上下文

10.順序表的優點是( )。 (2分)選項a

插入操作的時間效率高

b適用於各種邏輯結構的儲存表示

c儲存密度(儲存利用率)高

d刪除操作的時間效率高

11.若線性表最常用的操作是訪問第i個元素及其前驅的值,則採用( )儲存方式節省時間。 (2分)選項a

單鏈表b

雙向鍊錶

c單迴圈鍊錶

d順序表

12.以下程式的輸出結果是( )。 (1分)

struct har

h[2];

intmain

(void

)

選項a

12b23c

14d3213.以下程式的輸出結果是( )。 (1分)

struct node

;int

main

(void

)

選項a

10b20c

30d4014.設有如下定義的鍊錶,則值為7的表示式是()。 (1分)

struct st a[3]

=,*p =

&a;

選項a

p->n

b(p->n)++

c(++p)->n

dp->next->n

15.在乙個單鏈表head中,若要在指標p所指結點後插入乙個q指標所指結點,則執行()。 (1分)選項a

p->next=q->next; q->next=p;

bq->next=p->next; p=q;

cp->next=q->next; p->next=q;

dq->next=p->next; p->next=q;

16.下面程式段輸入一行字元,按輸入的逆序建立乙個鍊錶。

struct node

*top,

*p;char c;

top=

null

;while

((c=

getchat()

)!='\n'

)

選項a

top->link=p

bp->link=top

ctop=p->link

dp=top->link

17.若已建立下面的鍊錶結構,指標p、q分別指向圖中所示結點,則不能將q所指結點插入到鍊錶末尾的語句是( )。 (1分)

1.下列函式用於將鍊錶中各結點的資料依次輸出。

struct student 

;void

print

(struct student *head)

while

( p (

1分))

;}

2.已建立學生「英語」課程的成績鍊錶(成績存於score域中,學號存於num域中), 下列函式用於輸出不及格學生的學號和成績,及補考學生人數。
void

require

(struct student *head)

p = p->next;

}printf

(」%ld\n」, x);}

}

3.下列**的功能是返回帶頭結點的單鏈表l的逆轉鍊錶。
list reverse

( list l )

l->next = new_head (

6分);

return l;

}

資料結構與演算法 線性表

概念 一種資料結構,每個結點最多只有乙個前驅結點和乙個後繼結點 類別 順序表 定長 鍊錶 變長 棧 棧頂刪除 彈棧 棧頂插入 壓棧 後進先出 lifo 佇列 隊頭刪除 出隊 隊尾插入 入隊 先進先出 fifo 線性表的抽象資料型別定義 c 1.template2.class list 棧的抽象資料型...

資料結構與演算法 線性表

n維向量 x1,x2,xn 是乙個長度為n的線性表 英文小寫字母表 a,b,c,z 是乙個長度為26的線性表 一年中的四個季節 春,夏,秋,冬 是乙個長度為4的線性表 矩陣是乙個比較複雜的線性表 學生情況登記表是乙個複雜的線性表 由若干資料項組成的資料元素稱為記錄 由多個記錄構成的線性表又稱為檔案 ...

資料結構與演算法 線性表

1.線性表 1.1 線性表的定義和基本運算 定義 線性表是具有相同資料型別的n個資料元素的有限序列。除表頭元素外,每個元素有且僅有乙個直接前驅 除表尾元素外,每個元素有且僅有乙個直接後繼。特點 個數有限 具有邏輯上的順序性 資料元素型別都相同。基本操作 初始化 求表長 按值查詢 按位查詢 插入 刪除...