天天看點

學了【資料結構】 看看這些練習題你能拿多少分

  • 💂 個人首頁:​​陶然同學​​
  • 🤟 版權:本文由【陶然同學】原創、需要轉載請聯系部落客
  • 💬 如果文章對你有幫助、歡迎關注、點贊、收藏(一鍵三連)和訂閱專欄哦
  • 💅想尋找共同成長的小夥伴,請點選【​​Java全棧開發社群​​】

說明:

        先自測看看自己能答對多少道題 答案在最後

17. 線性表是有 n 個( )的有限序列。(2分)

A.資料表

B.字元

C.資料元素

D.資料項

18. 線性表是一個( )。(2分)

A.有限序列,可以為空 

B.有限序列,不可以為空

C.無限序列,可以為空

D.無限序列,不可以為空

19. 以下( )是一個線性表。(2分)

A.由 n 個實數組成的集合

B.由 100 個字元組成的序列

C.由所有整數組成的序列

D.所有奇數組成的序列

20. 線上性表中,除了開始元素外,每個元素( )。(2分)

A.隻有唯一的前驅元素

B.隻有唯一的後即元素字元

C.有多個前驅元素

D.有多個後繼元素

21. 順序表的最大有優點是( )。(2分)

A.存儲密度大  存儲密度是1

B.插入運算友善

C.删除運算友善

D.可以友善地用于各種邏輯的存儲表示   順序存儲

22. 對于順序表,通路編号為 i 的元素的時間複雜度為( )。(2分)

A. O(n)

B. O(1)

C.O(nlog2n)

D.O(log2n)

23. 對于順序表,在編号為 i 處插入一個新元素的間複雜度為( )。(2分)

A. O(n)

B. O(1)

C.O(nlog2n)

D.O(log2n)

24. 采用順序查找法對長度為 n 的線性表進行查找(不采用表尾設監視哨的方法),最壞的情況下要進行( )次元素間的比較。(2分)

A.n+2

B.n

C.n-1

D.n/2

25. 帶頭結點的單向連結清單的頭指針為 head,該連結清單為空的判定條件是( )的值為真。(2分)

A.head = = NULL

B.head.getNext()= =head

C.head.getNext()= = NULL

D.head = =head.getNext()

26. 非空的單向循環連結清單的尾結點滿足( )(設頭指針為 head,指針 p 指向尾結點)。(2分)

A.p.getNext()= =NULL

B.p= =NULL

C.p.getNext()= =head 

D.p= =head

27. 連結清單所具備的特點是( )。(2分)

A.可以随機通路任一結點

B.占用連續的存儲空間

C.可以通過下标對連結清單進行直接通路

D.插入删除元素的操作不需要移動元素結點

28. 設連結清單中的結點是 Node 類型的類,且有 Node p;為了申請一個新結點,并由 p 指向該結點,可用以下 Java 語句( )。(2分)

A. p=new Node();

B. p=new Node(*);

C.p=(NODE )malloc(sizeof(p));

D.p=(NODE *)malloc(sizeof(p));

29. 設順序存儲的線性表長度為 n,對于插入操作,設插入位置是等機率的,則插入一個元素平均移動元素的次數為( )。(2分)

A.n/2

B.n

C.n-1

D.n-i+1

30. 設順序存儲的線性表長度為 n,對于删除操作,設删除位置是等機率的,則删除一個元素平均移動元素的次數為( )。(2分)

A.(n-1)/2 

B.n

C.2n

D.n-i

31. 設順序存儲的線性表長度為 n,要删除第 i(0<=i<=n-1)個元素,按課本的算法,當 i=( )時,移動元素的次數為 3。(2分)

A.3 (第n位置,下标為n-1,移動0步)

B.n/2 (第n-1位置,下标為n-2,移動1步)

C.n-4  (第n-2位置,下标為n-3,移動2步)

D.4 (第n-3位置,下标為n-4,移動3步)

32. 設順序存儲的線性長度為 n,要在第 i(0<=i<=n)個元素之前插入一個新元素,按課本的算法當 i= ( )時,移動元素次數為 2。(2分)

A.n/2 (n-1元素的前面插入新元素,表示n元素位置為空,且需要移動1次。)

B.n (n-2元素的前面插入新元素,表示n和n-1都是空,且需要移動2次)

C.1

D.n-2

33. 設有一個長度為 n 的順序表,要删除第 i(0<=i<=n-1)個元素,按照課本算法,需移動元素的個數為( )。(2分)

A.n-i+1 i=n-1 -->0

B.n-i i=n-2 -->1

C.n-i-1 i=0 -->n-1

D.i

34. 下述各線性結構中可以随機通路的是( )。(2分)

A. 單向連結清單

B. 雙向連結清單

C. 單向循環連結清單

D. 順序表

35. 線性表采用鍊式存儲時,其位址( )。(2分)

A.一定是不連續的

B.必須是連續的

C.可以連續也可以不連續

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

36. 在一個單連結清單中,p、q 分别指向表中兩個相鄰的結點,且 q 所指結點是 p 所指結點的直接後繼,現要删除 q 所指結點,可用的語句是( )。(2分)

學了【資料結構】 看看這些練習題你能拿多少分

A.p=q.getNext();

B.p.setNext(q);

C.p.setNext(q.getNext());        p.next = q.next;

D.q.setNext(NULL);

37. 在一個單連結清單中 p 所指結點之後插入一個 s 所指的結點時,可執行( )。(2分)

學了【資料結構】 看看這些練習題你能拿多少分

A.p.setNext(s); s.setNext(p.getNext());

B.p,setNext(s.getNext());

C.p=s.getNext();

D.s.setNext(p.getNext()); p.setNext(s); s.next = p.next;     p.next = s;

38. 按照教材算法,在一個長度為 n 的順序表中為了删除位序号為 5 的元素,從前到後依次移動了 15 個元素。則原順序表的長度為( )。(2分)

A. 21  6 + 15 = 21

B. 20

C. 19

D. 25

39. 針對線性表,在存儲後如果最常用的操作是取第 i 個結點及其前驅,則采用( )存儲方式最節省時間。(2分)

A.單連結清單 讀取的時間複雜度O(n)

B.雙連結清單   讀取的時間複雜度O(n)

C.順序表   讀取的時間複雜度O(1)

D.單循環連結清單 讀取的時間複雜度O(n)

40. 假設在順序表中,每一個資料元素所占的存儲單元的數目為 4,且第一個資料元素的存儲位址為 100,則位序号是 7 的資料元素的存儲位址是:( )。(2分)

A.106

B.107

C.124

答案:

繼續閱讀