面試經典考題(二) 演算法部分

2022-01-22 02:53:36 字數 860 閱讀 8102

void main(string args)

//(1)產生乙個int陣列,長度為100,並向其中隨機插入1-100,並且不能重複。

private

static

void test1()

}for (int i = 0; i < 100; i++)

console.readkey();}//

(2)求以下表示式的值,寫出您想到的一種或幾種實現方法: 1-2+3-4+……+m

public

static

void test2()

//奇數

else

}console.writeline("

個數,表示式1-2+3-4+……+m的和為

",m,sum);

console.readkey(); }//

(3)一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞迴演算法實現。

//求解:觀察資料規律,從第三個數開始,前2個數之和是緊挨著這兩個數的值

//例如:2=1+1;

//3=1+2;

//5=2+3;

//8=3+5;

//......

//由此,我們可以寫出成如下的偽**:

//if(i<=0)return 0;

//else if(i>0 && i<=2)return 1

//if(i>2)

//foo(i)=foo(i-1)+foo(i-2)

private

static

void test3()

private

static

int foo(int i)}}

《演算法之道》精華 經典演算法部分

折半插入排序 歸併排序 快排 任何基於比較的排序,決策樹高度至少為nlog n 計數排序 基數排序 桶排序 快速次序選擇 求第k大的數 線性最差快速次序選擇 折半搜尋 常數搜尋 雜湊搜尋 乘法雜湊 開放定址雜湊 雜湊碰撞時縱深擴充套件,新增乙個鍊錶 封閉定址雜湊 雜湊碰撞時為元素找到另乙個位置 非線...

面試 演算法部分 氣泡排序

三 四 時間複雜度 第一次排序 6和3比較,6大於3,交換位置 3 6 8 2 9 1 第二次排序 6和8比較,6小於8,不交換位置 3 6 8 2 9 1 第三次排序 8和2比較,8大於2,交換位置 3 6 2 8 9 1 第四次排序 8和9比較,8小於9,不交換位置 3 6 2 8 9 1 第五...

演算法部分整理

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