筆試題之資料結構

2021-09-06 06:18:50 字數 752 閱讀 2524

[時間複雜度]整個演算法的執行時間與基本操作重複執行的次數成正比。

參考kmp演算法,該演算法的時間複雜度為q(n),通常,模式串的長度n比主串的長度m要小的多

[穩定排序]排序前後,數值的相對前後位置不變的為穩定排序,否則為不穩定排序。

1、簡單排序,時間複雜度o(n的平方),不穩定

2、快速排序,時間複雜度o(nlogn),效能最佳,不穩定

3、堆排序,時間複雜度o(nlogn),不穩定

4、歸併排序,時間複雜度o(nlogn),不穩定

5、基數排序,時間複雜度o(d(n+rd)),穩定排序,

平衡二叉樹具有如下性質:

1、左子樹和右子樹都是平衡二叉樹,且左子樹和右子樹的深度之差不超過1

雜湊函式的構造方法主要有下面六種:

1、直接定址法,即關鍵字或關鍵字的某個線性函式值為雜湊位址,h(key) = key  或 h(key) = a*key + b;

2、數字分析法,假設關鍵字是以r為基數的數,並且雜湊表中可能出現的關鍵字事先都知道的,則可取關鍵字的諾乾位組成雜湊位址;

3、平方取中法,取關鍵字平方後的中間幾位為雜湊位址;

4、摺疊法,將關鍵字分割為位數相同的幾部分,然後取這部分的疊加和(捨去進製)作為雜湊位址;

5、除留餘數法,取關鍵字被某個不大於雜湊表長m的數p除后所得餘數為雜湊位址,即h(key) = key mod p ,p <= m;

6、隨機數法,選擇乙個隨即函式,取關鍵字的隨即函式值為它的雜湊位址。

資料結構筆試題

一 如何判斷乙個單鏈表是有環的?注意不能用標誌位,最多只能用兩個額外指標 struct node bool check const node head return false 無環 true 有環 一種o n 的辦法就是 搞兩個指標,乙個每次遞增一步,乙個每次遞增兩步,如果有環的話兩者必然重合,反...

資料結構筆試題目

1 c 編成求二叉樹的深度 int bintreedepth link head 2 排序二叉樹插入乙個節點或雙向鍊錶的實現 排序二叉樹 左小於根,根小於右。左右又分別是排序二叉樹。前序遍歷 根左右 中序遍歷 左根右 後序遍歷 左右根 排序二叉樹插入乙個結點 大於左,往右找,小於右往左找,遞迴實現。...

資料結構筆試題三

一 選擇題 每小題2分,共8分 1.若需要利用形參直接訪問實參,則應把形參變數說明為 引數。a.指標 b.引用 c.值 2.在乙個單鏈表hl中,若要在指標q所至結點的後面插入乙個由指標p所指向的結點,則執行 a.q next p next p next q b.p next q next q p c...