筆試面試必會程式碼及必看書籍

lostinai發表於2014-06-16

http://blog.csdn.net/woshibendangao/article/details/31396679

筆試面試必會程式碼


連結串列:

在連結串列中找到第一個含有某值的節點並刪除該結點

從頭到尾列印連結串列

合併兩個排序連結串列

反轉連結串列

連結串列中倒數第k個結點

O(1)時間刪除連結串列結點

複雜連結串列的複製

兩個連結串列的第一個公共結點

 

二叉樹:

深度優先遍歷

廣度優先遍歷

求二叉樹的深度和寬度或者面積

重建二叉樹

判斷樹a是不是樹b的子結構

二叉樹映象

從上往下列印二叉樹

二叉樹的後序遍歷序列

二叉樹中和為某一值的路徑

二叉搜尋樹變成雙向連結串列

 

字串:

Strstr(kmp)

Strcmp

Strcpy

Memcpy

字典樹

線段樹

字尾樹判斷最長重複子串

字串中替換空格

字串的全排列

翻轉單詞順序/左旋轉字串

字串轉化成整數

 

其他資料結構:

兩個棧實現佇列

兩個佇列實現一個棧

包含min函式的棧

棧的壓入彈出序列

 

演算法:

Quick sort

二進位制中1的個數

二維陣列中的數的查詢

旋轉陣列中的最小數字

列印1到最大n位數(陣列模擬)

調整陣列順序使奇數位於偶數前面

順時針列印矩陣

陣列中次數超過一半的數字

最小的k個數

陣列排成最小的數

醜數

陣列中第一個只出現一個的字元

陣列中的逆序對

數在陣列中出現的次數

陣列中一個只出現一次的數字(其他都出現兩次)

陣列中兩個只出現一次的數字(其他都出現兩次)

陣列中三個只出現一次的數字(其他都出現兩次)

陣列中和威s額兩個數字/和為s的連續正數序列

N個骰子的點數

撲克牌的順子

圓圈中最後剩下的數字(約瑟夫環)

 

動態規劃:

求一個序列的最大連續子序列乘積

連續陣列的最大和

 

 

C++特性:

不用for while if else switch case 以及 ?: 求1+2+……+n的的和

深拷貝與淺拷貝

設計一個不能被繼承的類

記憶體分配的程式碼

手動修改棧空間

不用sizeof如何判斷作業系統是16位還是32位

大小端

不用+號進行加法運算

不用/號進行除法運算

 

設計模式:

實現一個單例模式


必看書籍


必看:

《劍指offer》 《程式設計之美》 《程式設計師面試筆試寶典》

選看:

《演算法導論》 《tcp/ip詳解 卷一》 《unix環境高階程式設計》 《演算法導論》 《程式設計珠璣》

c++:

《effective C++》

java:

《effective java》 《java程式設計思想》

python:

《python基礎教程》 《Head First Python》


 好網站推薦


大街網校園招聘

july大牛部落格

劍指offer原題acm的形式

offer評析

面試筆試需準備



相關文章