1灌侣、排序算法
2侥涵、動(dòng)態(tài)規(guī)劃褥傍,參見背包問題x3
3儡嘶、二叉樹(介紹二叉搜索樹的特點(diǎn)),二叉樹遍歷
http://www.reibang.com/p/fc34468aa643
利用二叉樹的遍歷對(duì)該圖的二叉樹進(jìn)行前序
和中序
以及后序
的遍歷操作,我們首先來看看前序遍歷
前序遍歷
先輸出根節(jié)點(diǎn),然后遍歷左子樹和有子樹的節(jié)點(diǎn)
具體操作如下:
先輸出我們上圖中的根節(jié)點(diǎn)(也就是宋江)
如果左子樹不為null,則采用遞歸
繼續(xù)前序遍歷
如果右子樹不為null,則采用遞歸
繼續(xù)前序遍歷
中序遍歷
先遍歷左子樹,再輸出根節(jié)點(diǎn),最后遍歷右子樹
具體的操作如下:
如果左子樹不為null,則采用遞歸繼續(xù)中序遍歷
接著是輸出我們上圖中的根節(jié)點(diǎn)(也就是宋江)
如果右子樹不為null,則采用遞歸繼續(xù)中序遍歷
后序遍歷
后序遍歷規(guī)則:先遍歷左子樹,在遍歷右子樹,最后輸出根節(jié)點(diǎn)
具體的操作如下:
如果左子樹不為null,則采用遞歸繼續(xù)后序遍歷
如果右子樹不為null,則采用遞歸繼續(xù)后序遍歷
最后是輸出我們上圖中的根節(jié)點(diǎn)(也就是宋江)恍风。
4蹦狂、加油站問題(貪心算法)
5、二分法
7朋贬、單鏈表反轉(zhuǎn)凯楔,如何判斷鏈表是否有環(huán)
8、取1000個(gè)數(shù)字里面的質(zhì)數(shù)
9兄世、找出數(shù)組中和為給定值的兩個(gè)元素啼辣,如:[1, 2, 3, 4, 5]中找出和為6的兩個(gè)元素。
10御滩、線性順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)有什么區(qū)別?以及優(yōu)缺點(diǎn)
五大算法
介紹快速排序
介紹排序算法和快排原理
手寫一個(gè)快速排序 你看歸并排序行嗎党远?好吧不行.之后就開始了數(shù)據(jù)結(jié)構(gòu)削解、算法、計(jì)算機(jī)網(wǎng)絡(luò)的快樂旅程... 我就是在這一塊涼的沟娱,這方面的基礎(chǔ)知識(shí)還真是不大過關(guān)氛驮。
實(shí)現(xiàn)快速算法x2
各種排序,重點(diǎn)是快排
介紹冒泡排序济似,選擇排序矫废,冒泡排序如何優(yōu)化
手寫冒泡排序
二分查找的時(shí)間復(fù)雜度怎么求?
二分排序法
用二分查找實(shí)現(xiàn) indexOf 方法砰蠢,不允許用遞歸蓖扑;
補(bǔ)充: 其實(shí)對(duì)于 ES6,已經(jīng)對(duì)遞歸函數(shù)做了尾調(diào)用優(yōu)化台舱,是可以用遞歸來實(shí)現(xiàn)的律杠。而 Python 解釋器是沒有實(shí)現(xiàn)尾調(diào)用優(yōu)化的。
一個(gè)有序的數(shù)組進(jìn)行查找操作?(手寫) 別說了柜去,二分查找開始吧
算法:top-K問題灰嫉,分成top-1,top-2,top-K三小問
算法:實(shí)現(xiàn)setter(obj, 'a.b.c' ,val)
從一個(gè)無序,不相等的數(shù)組中嗓奢,選取N個(gè)數(shù)讼撒,使其和為M實(shí)現(xiàn)算法
Promise串行
題目:現(xiàn)在有一個(gè)數(shù)組[1,2,3,4],請(qǐng)實(shí)現(xiàn)算法股耽,得到這個(gè)數(shù)組的全排列的數(shù)組根盒,如[2,1,3,4],[2,1,4,3]豺谈。郑象。。茬末。你這個(gè)算法的時(shí)間復(fù)雜度是多少
https://juejin.im/post/5bfff5086fb9a049c84f2d24#heading-16
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039
求斐波那契數(shù)列(兔子數(shù)列) 1,1,2,3,5,8,13,21,34,55,89...中的第 n 項(xiàng)
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039#heading-5
算法的效率
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039#heading-5
項(xiàng)目中樹的使用場景以及了解
斐波那契數(shù)列厂榛?怎么優(yōu)化?
看過算法導(dǎo)論嗎
對(duì)圖有了解嗎
貪心算法: 局部最優(yōu)解法
分治算法: 分成多個(gè)小模塊丽惭,與原問題性質(zhì)相同
動(dòng)態(tài)規(guī)劃: 每個(gè)狀態(tài)都是過去歷史的一個(gè)總結(jié)
回溯法: 發(fā)現(xiàn)原先選擇不優(yōu)時(shí)击奶,退回重新選擇
分支限界法
觀察者模式里面使用的數(shù)據(jù)結(jié)構(gòu)(不具備順序 ,是一個(gè)list)
介紹下DFS深度優(yōu)先