資料結構經典面試題 練習4

2021-07-25 13:29:14 字數 3316 閱讀 5790

1.

乙個演算法通常由兩種基本要素組成:一是對資料物件的運算和操作,二是演算法的控制結構。

演算法的複雜度主要包括時間複雜度和

空間複雜度。

2. 實現演算法所需的儲存單元多少和演算法的工作量大小分別稱為演算法的空間複雜度和時間複雜度 。

3. 所謂資料處理是指對資料集合中的各元素以各種方式進行運算,包括插入、刪除、查詢、更改等運算,也包括對資料元素進行分析。

4. 資料結構是指相互有關聯的 資料元素 的集合。

5. 資料結構分為邏輯結構與儲存結構,線性鍊錶屬於 儲存結構 。

6. 資料結構包括資料的 邏輯 結構和資料的儲存結構。

7. 資料結構包括資料的邏輯結構、資料的 儲存結構 以及對資料的操作運算。

8. 資料元素之間的任何關係都可以用 前趨和後繼 關係來描述。

9. 資料的邏輯結構有線性結構和非線性結構兩大類。

10. 常用的儲存結構有順序、鏈結、 索引 等儲存結構。

11.

順序儲存方法是把邏輯上相鄰的結點儲存在物理位置

相鄰 的儲存單元中。

12.

棧的基本運算有三種:入棧、退棧與讀棧頂元素 。

13.

佇列主要有兩種基本運算:入隊運算與 退隊運算 。

14.

在實際應用中,帶鏈的棧可以用來收集計算機儲存空間中所有空閒的儲存結點,這種帶鏈的棧稱為 可利用棧 。

15. 棧和佇列通常採用的儲存結構是 鏈式儲存和順序儲存。

16.當線性表採用順序儲存結構實現儲存時,其主要特點是 邏輯結構中相鄰的結點在儲存結構中仍相鄰 。

17.

迴圈佇列主要有兩種基本運算:入隊運算與退隊運算。每進行一次入隊運算,隊尾指標就 進1 。

18. 當迴圈佇列非空且隊尾指標等於對頭指標時,說明迴圈佇列已滿,不能進行入隊運算。這種情況稱為 上溢。

19.當迴圈隊列為空時,不能進行退隊運算,這種情況稱為 下溢 。

20.

在乙個容量為

25的迴圈佇列中,若頭指標

front=16

,尾指標

rear=9

,則該迴圈佇列中共有

18 個元素。注:當

rear時,元素個數=總容量-(

front

-rear);

當 rear>front時,元素個數=

rear-

front。

21.

在乙個容量為

15的迴圈佇列中,若頭指標

front=6

,尾指標

rear=9

,則該迴圈佇列中共有

3 個元素。

22. 順序查詢一般是指在 線性表 中查詢指定的元素。

23. 在計算機中存放線性表,一種最簡單的方法是 順序儲存 。

24. 在程式語言中,通常定義乙個 一維陣列 來表示線性表的順序儲存空間。

25. 在鏈式儲存方式中,要求每個結點由兩部分組成:一部分用於存放資料元素值,稱為資料域,另一部分用於存放指標,稱為 指標域 。其中指標用於指向該結點的前乙個或後乙個結點(即前件或後件)。

26. 在 線性單鏈表中 ,每乙個結點只有乙個指標域,由這個指標只能找到後繼結點,但不能找到前驅結點。

27.

28.

29.

用鍊錶表示線性表的突出優點是 便於插入和刪除操作 。

30.

在樹形結構中,樹根結點沒有

前件 。

31.

在樹結構中,乙個結點所擁有的後件個數稱為該結點的度。葉子結點的度為 0 。

32.

設一棵二叉樹中有

3個葉子結點,

8個度為

1的結點,則該二叉樹中總的結點數為 13。

33.

設一棵完全二叉樹共有

739個結點,則在該二叉樹中有

370

個葉子結點。

34.

設一棵完全二叉樹共有

700個結點,則在該二叉樹中有

350

個葉子結點。

35.

在先左後右的原則下,根據訪問根結點的次序,二叉樹的遍歷可以分為三種:前序遍歷、 中序 遍歷和後序遍歷。

36.

若串s="program"

,則其子串的數目是

29 。 注:

n(n+1)/2+1

37.

若串s=」mathtypes」

,則其子串的數目是

46 。

38.

對長度為

n的線性表進行插入乙個新元素或刪除乙個元素時,在最壞情況下所需要的比較次數為 n 。

39.

在長度為

n的有序線性表中進行順序查詢。最壞的情況下,需要的比較次數為

n   。

40.

在長度為

n的有序線性表中進行二分查詢。最壞的情況下,需要的比較次數為

log2n 。

41.

長度為n的順序儲存線性表中,當在任何位置上插入乙個元素概率都相等時,插入乙個元素所需移動元素的平均個數為

n/2 。

42.

排序是計算機程式設計中的一種重要操作,常見的排序方法有插入排序、 交換排序 和選擇排序等。

43.

快速排序法可以實現通過一次交換而消除多個 逆序 。

44.

快速排序法的關鍵是對線性表進行 分割 。

45.

氣泡排序演算法在最好的情況下的元素交換次數為 0 。

46.

在最壞情況下,氣泡排序的時間複雜度為

n(n-1) /2 。

47.

對於長度為

n的線性表,在最壞情況下,快速排序所需要的比較次數為

n(n-1) /2 。

48.在最壞情況下,簡單插入排序需要比較的次數為

n(n-1) /2 。

49.在最壞情況下,希爾排序需要比較的次數為

o(n1.5)

。注:括號裡是n的

1.5次方。

50.

在最壞情況下,簡單選擇排序需要比較的次數為

n(n-1) /2 。

51.

在最壞情況下,堆排序需要比較的次數為

o(nlog2n) 。

52.對於輸入為

n個數進行快速排序演算法的平均時間複雜度是

o(nlog2 n)。s

資料結構 面試題

python實現 寫個大概,import re def quick sort alist,first,last if first last return mid value alist first low first high last while low high while low mid va...

資料結構 面試題

2.棧2.2使用棧計算字尾表示式 2.3對棧的元素進行排序 2.4判斷表示式是否括號平衡 3.佇列 4.鍊錶 5.樹6.圖 7.字典樹 這是一種高效的樹形結構,但值得單獨說明 8.雜湊表 雜湊表 1.1 尋找陣列中第二小的元素 思路 公升序排序之後,輸出第二個數字 1.2 找到陣列中第乙個不重複出現...

mysql資料結構面試題 MySQL 面試題

mysql 的一些面試題,有的是平時聊到的,有的是聽別人說的,有的是工作中遇到的,特此彙總一下,有問有答。一條 sql 查詢語句執行流程?1 聯結器。客戶端和伺服器 tcp 握手後,驗證使用者名稱密碼。使用者名稱密碼通過後,聯結器會到許可權表中查詢你擁有的許可權。之後這個連線裡面的許可權判斷邏輯,都...