資料結構與演算法(六) 技術面試題

2021-07-10 19:21:53 字數 812 閱讀 5220

《參考程式設計師面試金典》中技術面試題

1. 舉例法:先列舉一些具體的例子,看看能否發現一般的規則。

2. 模式匹配法:將現有問題與一些類似基礎演算法問題作模擬,看看能否通過相關問題來解決新問題,往往適用排序或者查詢演算法。

3. 簡化推廣法:分多步走,首先修改某個約束條件,比如資料型別或者資料量,從而簡化這個問題;接著我們處理這個問題的簡化版本,得到某種解決問題的演算法;最後,對上述演算法推廣,修改解決方案,讓它滿足約束條件。

4. 簡單構造法:知道n-1/n-2的正確結果,就可以推出n的結果,從而發現規律,基於前面的結果解決後面的問題,從而解決整個問題,往往適用遞迴問題和動態規劃法。

5. 資料結構頭腦風暴法:快速過一遍資料結構的列表,然後逐一嘗試各種資料結構,這種方法很實用,往往一旦找到合適的資料結構,很多問題也迎刃而解了。常用資料結構有:陣列、鍊錶、堆、棧、佇列、二叉樹。

提問,向面試官提問,以消除面試題的疑以(注意提恰當的問題);

設計一種演算法(考慮時間和空間複雜度,注意資料量、限制條件、插入、刪除、查詢、排序等);

編寫偽碼有助於釐清思路,減少犯錯的失誤(注意先跟面試官打招呼);

編寫**,注意不要太過倉促,放慢步驟,多用資料結構,寫**不要太雜亂,平時在紙上多練習;

測試:極端用例,使用者錯誤,一般用例。

多用資料結構;

適當重用**(乙個方法解決乙個小問題);

模組化,相關的函式或者類放在乙個文件;

靈活健壯,不要把**寫死,用變數來表示寫通用靈活的**;

錯誤檢查;

複雜邏輯最好加上注釋說明,以加強可讀性和維護性。

資料結構與演算法面試題

1。計算二叉樹的深度 獲取最大深度 public static intgetmaxdepth treenode root 2。折半查詢 非遞迴 package althorgrim 1 必須採用順序儲存結果 2 關鍵字必須有序 author hanrk 2734 public class testb...

資料結構與演算法面試題80道

問題分析 二叉查詢樹是一種二叉樹的結構,其中,根節點的值大於左子樹的值,小於右子樹的值。而二叉查詢樹的中序遍歷即為排序的結果。對於根節點,前驅指標指向左子樹中最大的節點,同理,後驅指標指向右子樹中最小的節點,如下圖所示 樹是一種遞迴的結果,因此,對於左右子樹,也需要執行相同的操作。方法 bstree...

資料結構與演算法常見面試題

資料結構與演算法 找到單鏈表的三等分點,如果單鏈表是有環的呢 用快慢指標,乙個走一步,乙個走三步。如果有環,先判斷環在哪,找最後乙個節點,然後用之前的無環的做法 從10萬個數中找最小的10個,時間複雜度分析 最小堆,考慮記憶體 我們首先取10萬個元素中的前10個元素來建立由10個元素組成的最小堆。這...