极客时间算法练习题总结
文章出處:極客時(shí)間《數(shù)據(jù)結(jié)構(gòu)和算法之美》-作者:王爭(zhēng)。該系列文章是本人的學(xué)習(xí)筆記。
在極客時(shí)間《數(shù)據(jù)結(jié)構(gòu)和算法之美》最后,王爭(zhēng)老師加餐了7天訓(xùn)練內(nèi)容,對(duì)每一部分需要掌握的數(shù)據(jù)結(jié)構(gòu)與算法做了總結(jié)。現(xiàn)在我把這些題目放在一起,并且和自己寫(xiě)的代碼做了超鏈接。
數(shù)組
實(shí)現(xiàn)一個(gè)支持動(dòng)態(tài)擴(kuò)容的數(shù)組
實(shí)現(xiàn)一個(gè)大小固定的有序數(shù)組,支持動(dòng)態(tài)增刪改操作
實(shí)現(xiàn)兩個(gè)有序數(shù)組合并為一個(gè)有序數(shù)組
鏈表
實(shí)現(xiàn)單鏈表、循環(huán)鏈表、雙向鏈表,支持增刪操作
實(shí)現(xiàn)單鏈表反轉(zhuǎn)
實(shí)現(xiàn)兩個(gè)有序的鏈表合并為一個(gè)有序鏈表
實(shí)現(xiàn)求鏈表的中間結(jié)點(diǎn)
棧
用數(shù)組實(shí)現(xiàn)一個(gè)順序棧
用鏈表實(shí)現(xiàn)一個(gè)鏈?zhǔn)綏?br /> 編程模擬實(shí)現(xiàn)一個(gè)瀏覽器的前進(jìn)、后退功能
隊(duì)列
用數(shù)組實(shí)現(xiàn)一個(gè)順序隊(duì)列
用鏈表實(shí)現(xiàn)一個(gè)鏈?zhǔn)疥?duì)列
實(shí)現(xiàn)一個(gè)循環(huán)隊(duì)列
遞歸
編程實(shí)現(xiàn)斐波那契數(shù)列求值 f(n)=f(n-1)+f(n-2) (用的是LeetCode的題目走樓梯,本質(zhì)相同)
編程實(shí)現(xiàn)求階乘 n!(未完成)
編程實(shí)現(xiàn)一組數(shù)據(jù)集合的全排列(LeetCode題目46)
排序
實(shí)現(xiàn)歸并排序、快速排序、插入排序、冒泡排序、選擇排序
編程實(shí)現(xiàn) O(n) 時(shí)間復(fù)雜度內(nèi)找到一組數(shù)據(jù)的第 K 大元素
二分查找
實(shí)現(xiàn)一個(gè)有序數(shù)組的二分查找算法
實(shí)現(xiàn)模糊二分查找算法(比如大于等于給定值的第一個(gè)元素)
散列表
實(shí)現(xiàn)一個(gè)基于鏈表法解決沖突問(wèn)題的散列表
實(shí)現(xiàn)一個(gè) LRU 緩存淘汰算法
字符串
實(shí)現(xiàn)一個(gè)字符集,只包含 a~z 這 26 個(gè)英文字母的 Trie 樹(shù)
實(shí)現(xiàn)樸素的字符串匹配算法
KMP算法
二叉樹(shù)
實(shí)現(xiàn)一個(gè)二叉查找樹(shù),并且支持插入、刪除、查找操作
實(shí)現(xiàn)查找二叉查找樹(shù)中某個(gè)節(jié)點(diǎn)的后繼、前驅(qū)節(jié)點(diǎn)
實(shí)現(xiàn)二叉樹(shù)前、中、后序以及按層遍歷
堆
實(shí)現(xiàn)一個(gè)小頂堆、大頂堆、優(yōu)先級(jí)隊(duì)列
實(shí)現(xiàn)堆排序
利用優(yōu)先級(jí)隊(duì)列合并 K 個(gè)有序數(shù)組(未完成)
求一組動(dòng)態(tài)數(shù)據(jù)集合的最大 Top K(未完成)
圖
實(shí)現(xiàn)有向圖、無(wú)向圖、有權(quán)圖、無(wú)權(quán)圖的鄰接矩陣和鄰接表表示方法
實(shí)現(xiàn)圖的深度優(yōu)先搜索、廣度優(yōu)先搜索
實(shí)現(xiàn) Dijkstra 算法、A* 算法(未完成)
實(shí)現(xiàn)拓?fù)渑判虻?Kahn 算法、DFS 算法
回溯
利用回溯算法求解八皇后問(wèn)題
利用回溯算法求解 0-1 背包問(wèn)題
分治
利用分治算法求一組數(shù)據(jù)的逆序?qū)€(gè)數(shù)
動(dòng)態(tài)規(guī)劃
0-1 背包問(wèn)題
最小路徑和(詳細(xì)可看 @Smallfly 整理的 Minimum Path Sum)
編程實(shí)現(xiàn)萊文斯坦最短編輯距離
編程實(shí)現(xiàn)查找兩個(gè)字符串的最長(zhǎng)公共子序列
編程實(shí)現(xiàn)一個(gè)數(shù)據(jù)序列的最長(zhǎng)遞增子序列(未完成)
總結(jié)
以上是生活随笔為你收集整理的极客时间算法练习题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 第一个Sprint冲刺第六天
- 下一篇: SQLsever --数据库置疑