文章出處

                                                               算法與數據結構

一、     簡介

本課程是基于數據結構來設計的,搜羅了各大公司面試過程中經常被問到的300多個算法題目,從中遴選出70道經典題目,分為單鏈表、數組、二叉樹、棧、數字、邏輯推理等多個類別。

 

本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出性能更好、邏輯更嚴謹的程序。

 

本課程適用于1-2年開發經驗的程序員,對設計模式和算法有一些了解。

 

二、     培訓大綱(2-4天)

 

1 上午 單鏈表

l   單鏈表的定義

l   單鏈表反轉

l   倒數第四個元素

l   中間元素

l   刪除無頭單鏈表的一個節點

l   合并兩個不交叉的有序鏈表

l   交換單鏈表中的任意兩個元素

l   判斷單鏈表是否有環

l   判斷兩個單鏈表是否相交,是則給出交點

l   用鏈表模擬大整數的加法運算

l   單鏈表排序

l   刪除單鏈表中重復的元素

 

1 下午 棧和隊列

l   棧和隊列的定義

l   設計含有min函數的棧,要去算法復雜度為o(1)

l   用兩個棧實現隊列

l   用兩個隊列實現棧

l   判斷棧的pushpop序列是否一致

l   遞歸反轉一個棧,要求空間復雜度o(1)

l   如何用一個數組實現兩個棧

l   如何用一個數組實現三個棧

 

2 上午 二叉樹

l   二叉樹的定義

l   三種周游方式

l   從頂部逐層打印二叉樹的節點數據

l   如果判斷一棵樹是否為平衡二叉樹

l   找出二叉樹上任意兩個節點的最近共同父結點

l   如何不用遞歸實現二叉樹的前序/后序/中序遍歷?

l   在二叉樹中找出和為某一值的所有路徑

l   把一個有序整數數組放到二叉樹中?

l   判斷整數序列是不是二叉搜索樹的后序遍歷結果

l   求二叉樹的鏡像

l   把二叉搜索樹轉變成排序的雙向鏈表

 

2 下午 數組

l   查找數組中的唯一的重復元素(2

l   刪除數組中的唯一的重復元素(14

l   刪除有序數組中的重復元素,空間復雜度O(26)

l   11000存放在1001個元素的數組中,如何找出其中的一個重復數字(6

l   找出數組中只出現了奇數次的1個數字,其它元素都成對出現(7

l   查找數組的最大最小值(3

l   長度為n的數組,存放了0n范圍內的整數,如何判斷其中是否有重復元素,要求空間復雜度0(1)8

l   數組的循環右移(13

l   “最大和”連續子序列(20

l   調整數組順序使奇數位于偶數前面(28

l   判斷有序數組中是否存在兩個唯一的元素(45

 

3 上午 數字

l   按位反轉數字(1234=4321

l   求從1加到n

l   用加法實現減法

l   把字符串轉換成蒸熟

l   Fibnacci數列的3種算法

l   整數分割

l   大數的模計算

l   Excel的數字轉字母

l   根據(15)隨機數生成器,生成(17)隨機數

l   計算質數、完全數、水仙花數、快樂數、回文數

l   刪除100位數字后的最大數

l   找出2n個數字中重復n次出現的數字

 

3 下午 雜題

l   撲克牌洗牌算法

l   判斷一個點是否在三角形內

l   IntStr函數的實現

l   寫一個檢查字符串是否是整數的函數,如果是則返回這個整數。

l   遞歸反轉一個棧

l   棧的排序

l   八皇后問題

l   8x8的棋盤一共有多少長方形和正方形

l  

 

4 上午 邏輯推理

l   給你一個打亂的魔法,如何在第二天把它調整好

l   一根金條付薪水

l   尋找四個藥丸罐子中某個被污染的藥丸罐

l   大象背香蕉問題

l   谷歌賽馬

l   九個點畫十條直線,每條直線至少有三個交點

l   燒繩子算時間

l   高樓扔雞蛋

l   海盜分金子

l   7克、2克砝碼各一個,天平一只,如何只用天平稱三次將140克的鹽分成5090克各一份

 

 

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()