資料結構(四)基礎面試題二

2021-10-04 09:43:57 字數 1472 閱讀 3664

1.程式包括兩個內容,分別是( 資料結構 )和( 演算法 )。

2. 棧和佇列的共同特點是( 只允許在端點處插入和刪除元素 ) 。

3. 棧通常採用的兩種儲存結構是( 線性儲存結構和鍊錶儲存結構 )。

4. 樹是結點的集合,它的根結點數目是( 有且只有1個) 。

5. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是( 氣泡排序 ) 。

6. 演算法的複雜度主要包括( 時間複雜度 )和( 空間 複雜度 )。

7.( 基數 )排序不需要進行記錄關鍵字間的比較。

8. 演算法具有如下特點:( 有窮性 ) 、( 確定性 )、( 可行性 ) 、( 輸入 )、( 輸出 )。

9. 鍊錶相對於順序表的優點有( 插入 )和( 刪除 )操作方便。

10. 順序表相對於鍊錶的優點有( 隨機訪問 ) 和( 空間利用率高 )。

11. 在雙鏈表中,每個結點有兩個指標域,乙個指向( 前驅結點 ),另乙個指向( 後續結點 )。

12. 迴圈鍊錶的最大優點是( 從表中任意結點出發都可訪問到表中每乙個元素 )。

13.在迴圈鍊錶中,課根據任一節點的位址遍歷整個鍊錶,而單鏈表中需知道( 頭指標 )才能遍歷整個鍊錶。

14. 組成串的資料元素只能是( 字元 )。

15. 一維陣列的邏輯結構是( 線性結構 ),儲存結構是( 順序儲存結構 )。

16. 二維陣列是一種非線性結構,其中的每乙個陣列元素最多有( 二 )個直接前驅( 或直接後繼 )。

17. 具有n個結點的完全二叉樹的深度為( log⁡2

n+

1\log_2n+1

log2​n

+1)。18. n個頂點的連通圖至少有( n-1 )條邊。

19.二分查詢的儲存結構僅限於( 有序的順序儲存結構 )。

20.順序查詢法的平均查詢長度為( n+1

2\frac

2n+1

​ )。

1.解釋二分法如何工作?

在二分法檢索中,我們先確定陣列的中間位置,然後將要查詢的值與陣列中間位置的值進行比較,若小於陣列中間值,則要查詢的值應位於該中間值之前,依此類推,不斷縮小查詢範圍,直至得到最終結果。

2.判斷是否是迴圈鍊錶?

設定兩個指標,慢指標和快指標,讓快指標比慢指標每次移動快兩次。如果快指標追趕上慢指標,則為迴圈鍊錶,否則不是迴圈鍊錶,如果快指標或者慢指標指向null,則不是迴圈鍊錶。

3.解釋乙個演算法的最佳情況和最壞情況之間有什麼區別?

·最佳情況:演算法的最佳情況解釋為演算法執行最佳的資料排列。例如,我們進行二分法檢索,如果目標值位於正在搜尋的資料中心,則這就是最佳情況,最佳情況時間複雜度為0。

·最差情況:給定演算法的最差輸入參考。例如快速排序,如果選擇關鍵值的子列表的最大或最小元素,則會導致最差情況出現,這將導致時間複雜度快速退化到o(n2)。

4.什麼是遞迴演算法?

遞迴演算法是乙個解決複雜問題的方法,將問題分解成較小的子問題,直到分解的足夠小,可以輕鬆解決問題為止。通常,它涉及乙個呼叫自身的函式。

資料結構 面試題

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 握手後,驗證使用者名稱密碼。使用者名稱密碼通過後,聯結器會到許可權表中查詢你擁有的許可權。之後這個連線裡面的許可權判斷邏輯,都...