劍指offer演算法部分

2021-09-11 03:35:40 字數 453 閱讀 1679

遞迴:定義:在乙個函式的內部呼叫這個函式自身

優點:**簡潔

2.遞迴中可能很多計算都是重複的(遞迴的本質是把乙個問題分解成兩個或多個問題),小問題存在相互重疊的部分,就存在重複計算

3.還可能存在呼叫棧溢位的情況

迴圈:設定計算的初始以及終止條件,在乙個範圍內重複計算

總結:基於遞迴的實現方法比較簡潔,但效能不如迴圈的實現方法,如果面試官沒有特殊要求,就採用遞迴的方法

雜湊表:時間效率o(1),但需要額外的空間實現雜湊表

二叉排序樹(二叉搜尋樹)

☛☛☛二分查詢:要求在排序的陣列(或部分排序的陣列)中查詢乙個數字或者統計某個數字出現的次數,都可以嘗試用二分查詢

插入排序,氣泡排序,歸併排序,快速排序,堆排序(額外空間消耗,平均時間複雜度,最差時間複雜度)

演算法部分整理

1.pca主成分分析 主成分分析 principal component analysis,pca 是一種統計方法。通過正交變換將一組可能存在相關性的變數轉換為一組線性不相關的變數,轉換後的這組變數叫主成分。無監督的學習,往特徵量最大的特徵向量的分銷商投影 pca的主要問題 沒有考慮類別號 進行主成...

排序演算法(部分)

快速排序會犧牲陣列中的乙個資料,所以實際的陣列長度,會比真實的資料多一,其中會將下面所說的標誌位賦值給arr 0 以犧牲陣列中arr 0 為例 快速排序主要思想 在陣列角標從left到right之間,取左邊第乙個數作為標誌位,將標誌位賦值給arr 0 然後分兩步迴圈判斷 這兩步順序不能混亂 1.從右...

演算法 劍指offer

思路 若百位上數字為0,百位上可能出現1的次數由更高位決定 若百位上數字為1,百位上可能出現1的次數不僅受更高位影響還受低位影響 若百位上數字大於1,則百位上出現1的情況僅由更高位決定。舉例 個位1出現的次數 round 1 1 每次迴圈1出現一次,0 9迴圈了53次,第54次迴圈為0 4 十位1出...