日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【算法】常用的数据结构与算法

發(fā)布時(shí)間:2025/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法】常用的数据结构与算法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí)了王爭(zhēng)老師的數(shù)據(jù)結(jié)構(gòu)與算法之美之后,比較有感觸,他把我們常用的數(shù)據(jù)結(jié)構(gòu)和算法都講了一遍,而且講的還不錯(cuò)。整理匯總一下作為筆記。


一.復(fù)雜度分析

非常重要。我們必須掌握,基本上要做到,簡(jiǎn)單代碼能很快分析出時(shí)間、空間復(fù)雜度;對(duì)于復(fù)雜點(diǎn)的代碼,比如遞歸代碼,也要掌握這兩種分析方法:遞推公式和遞歸樹。

難易程度:Medium

是否重點(diǎn):10 分

掌握程度:能自行分析大部分?jǐn)?shù)據(jù)結(jié)構(gòu)和算法的時(shí)間、空間復(fù)雜度


二.數(shù)組、棧、隊(duì)列

這一部分內(nèi)容非常簡(jiǎn)單,初學(xué)者學(xué)起來(lái)也不會(huì)很難。但是,作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),數(shù)組、棧、隊(duì)列,是后續(xù)很多復(fù)雜數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ),所以,這些內(nèi)容我們一定要掌握。

難易程度:Easy

是否重點(diǎn):8 分

掌握程度:能自己實(shí)現(xiàn)動(dòng)態(tài)數(shù)組、棧、隊(duì)列


三.鏈表

鏈表非常重要!雖然理論內(nèi)容不多,但鏈表上的操作卻很復(fù)雜。所以,我們經(jīng)常會(huì)被考察,一定要掌握。而且,我們這里說(shuō)“掌握”不只是能看懂相關(guān)的內(nèi)容,還能將相關(guān)的經(jīng)典鏈表題目,比如鏈表反轉(zhuǎn)、求中間結(jié)點(diǎn)等,輕松無(wú) bug 地實(shí)現(xiàn)出來(lái)。

難易程度:Medium

是否重點(diǎn):9 分

掌握程度:能輕松寫出經(jīng)典鏈表題目代碼


四.遞歸

對(duì)于初學(xué)者來(lái)說(shuō),遞歸代碼非常難掌握,不管是讀起來(lái),還是寫起來(lái)。但是,這道坎你必須要跨過(guò),跨不過(guò)就不能算是入門數(shù)據(jù)結(jié)構(gòu)和算法。我們后面講到的很多數(shù)據(jù)結(jié)構(gòu)和算法的代碼實(shí)現(xiàn),都要用到遞歸。

遞歸相關(guān)的理論知識(shí)也不多,所以還是要多練。你可以先在網(wǎng)上找些簡(jiǎn)單的題目練手,比如斐波那契數(shù)列、求階乘等,然后再慢慢過(guò)渡到更加有難度的,比如歸并排序、快速排序、二叉樹的遍歷、求高度,最后是回溯八皇后、背包問(wèn)題等。

難易程度:Hard

是否重點(diǎn):10 分

掌握程度:輕松寫出二叉樹遍歷、八皇后、背包問(wèn)題、DFS 的遞歸代碼


五.排序、二分查找

這一部分并不難,我們只需要能看懂相關(guān)的內(nèi)容即可。

難易程度:Easy

是否重點(diǎn):7 分

掌握程度:能自己把各種排序算法、二分查找及其變體代碼寫一遍就可以了


六.跳表

對(duì)于初學(xué)者來(lái)說(shuō),并不需要非得掌握跳表,所以,如果沒(méi)有精力,這一章節(jié)可以先跳過(guò)。

難易程度:Medium

是否重點(diǎn):6 分

掌握程度:初學(xué)者可以先跳過(guò)。如果感興趣,看懂相關(guān)內(nèi)容即可,不需要掌握代碼實(shí)現(xiàn)


七.散列表

總體上來(lái)講,這塊內(nèi)容理解起來(lái)并不難。但是,作為一種應(yīng)用非常廣泛的數(shù)據(jù)結(jié)構(gòu),我們還是要掌握牢固散列表。

難易程度:Medium

是否重點(diǎn):8 分

掌握程度:對(duì)于初學(xué)者來(lái)說(shuō),自己能代碼實(shí)現(xiàn)一個(gè)拉鏈法解決沖突的散列表即可


八. 哈希算法

這部分純粹是為了開拓思路,初學(xué)者可以略過(guò)。

難易程度:Easy

是否重點(diǎn):3 分

掌握程度:可以暫時(shí)不看


九. 二叉樹

這一部分非常重要!二叉樹經(jīng)常會(huì)被考到,所以要重點(diǎn)掌握。但是我這里說(shuō)的二叉樹,并不包含紅黑樹的內(nèi)容。紅黑樹我們待會(huì)再講。

難易程度:Medium

是否重點(diǎn):9 分

掌握程度:能代碼實(shí)現(xiàn)二叉樹的三種遍歷算法、按層遍歷、求高度等經(jīng)典二叉樹題目


十.紅黑樹

對(duì)于初學(xué)者來(lái)說(shuō),這一節(jié)課完全可以不看。

難易程度:Hard

是否重點(diǎn):3 分

掌握程度:初學(xué)者不用把時(shí)間浪費(fèi)在上面


十一.B+ 樹

雖然 B+ 樹也算是比較高級(jí)的一種數(shù)據(jù)結(jié)構(gòu)了,但是對(duì)初學(xué)者來(lái)說(shuō),也不是重點(diǎn)。有時(shí)候還是會(huì)被考察的,所以這一部分內(nèi)容,我們能看懂相關(guān)的講解就可以了。

難易程度:Medium

是否重點(diǎn):5 分

掌握程度:可看可不看


十二.堆與堆排序

這一部分內(nèi)容不是很難,初學(xué)者也是要掌握的。

難易程度:Medium

是否重點(diǎn):8 分

掌握程度:能代碼實(shí)現(xiàn)堆、堆排序,并且掌握堆的三種應(yīng)用(優(yōu)先級(jí)隊(duì)列、Top k、中位數(shù))


十三.圖的表示

圖的內(nèi)容很多,但是初學(xué)者不需要掌握那么多。一般不怎么考察。但是,最基本圖的概念、表示方法還是要掌握的。

難易程度:Easy

是否重點(diǎn):8 分

掌握程度:理解圖的三種表示方法(鄰接矩陣、鄰接表、逆鄰接表),能自己代碼實(shí)現(xiàn)


十四. 深度廣度優(yōu)先搜索

這算是圖上最基礎(chǔ)的遍歷或者說(shuō)是搜索算法了,所以還是要掌握一下。這兩種算法的原理都不難哈,但是代碼實(shí)現(xiàn)并不簡(jiǎn)單,一個(gè)用到了隊(duì)列,另一個(gè)用到了遞歸。對(duì)于初學(xué)者來(lái)說(shuō),看懂這兩個(gè)代碼實(shí)現(xiàn)就是一個(gè)挑戰(zhàn)!可以等到其他更重要的內(nèi)容都掌握之后,再來(lái)挑戰(zhàn),也是可以的。

難易程度:Hard

是否重點(diǎn):8 分

掌握程度:能代碼實(shí)現(xiàn)廣度優(yōu)先、深度優(yōu)先搜索算法


十五. 拓?fù)渑判颉⒆疃搪窂健* 算法

這幾個(gè)算法稍微高級(jí)點(diǎn)。如果你能輕松實(shí)現(xiàn)深度、廣度優(yōu)先搜索,那看懂這三個(gè)算法不成問(wèn)題。不過(guò),這三種算法不是重點(diǎn)。我們不會(huì)被考察的。

難易程度:Hard

是否重點(diǎn):5 分

掌握程度:有時(shí)間再看,暫時(shí)可以不看


十六.字符串匹配(BF、RK)

BF 非常簡(jiǎn)單,RK 稍微復(fù)雜點(diǎn),但都不難。這個(gè)最好還是掌握下。

難易程度:Easy

是否重點(diǎn):7 分

掌握程度:能實(shí)踐 BF 算法,能看懂 RK 算法


十七.字符串匹配(BM、KMP、AC 自動(dòng)機(jī))

這三個(gè)算法都挺難的,對(duì)于算法有一定基礎(chǔ)的人來(lái)說(shuō),看懂也不容易。所以,對(duì)于初學(xué)者來(lái)說(shuō),千萬(wàn)別浪費(fèi)時(shí)間在這上面。即便有余力,看懂就好了,不用非得能自己實(shí)現(xiàn)。

難易程度:Hard

是否重點(diǎn):3 分

掌握程度:初學(xué)者不用把時(shí)間浪費(fèi)在上面


十八.字符串匹配(Trie)

這個(gè)還是要能看懂,不過(guò)不需要能代碼實(shí)現(xiàn)。有些人喜歡考這個(gè)東西,主要是結(jié)合應(yīng)用場(chǎng)景來(lái)考察,只是看你知不知道要用 Trie 樹這個(gè)東西。

難易程度:Medium

是否重點(diǎn):7 分

掌握程度:能看懂,知道特點(diǎn)、應(yīng)用場(chǎng)景即可,不要求代碼實(shí)現(xiàn)


十九.位圖

位圖不是重點(diǎn),如果有余力最好掌握一下。

難易程度:Easy

是否重點(diǎn):6 分

掌握程度:看懂即可,能自己實(shí)現(xiàn)一個(gè)位圖結(jié)構(gòu)最好


二十.四種算法思想

這個(gè)是重點(diǎn),也是難點(diǎn)。貪心、分治、回溯、動(dòng)態(tài)規(guī)劃,每一個(gè)都不簡(jiǎn)單,其中動(dòng)態(tài)規(guī)劃又是最難、最燒腦的。要攀登大山,必須拿下這塊內(nèi)容。但是呢,學(xué)習(xí)要循序漸進(jìn),這塊內(nèi)容的學(xué)習(xí)可以放到最后,做個(gè)長(zhǎng)時(shí)間的學(xué)習(xí)計(jì)劃來(lái)攻克。這塊內(nèi)容理論的東西不多,要想真的掌握,還是要大量刷題。

難易程度:Hard

是否重點(diǎn):10 分

掌握程度:可以放到最后,但是一定要掌握!做到能實(shí)現(xiàn) Leetcode 上 Medium 難度的題目


往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課

本站qq群851320808,加入微信群請(qǐng)掃碼:

總結(jié)

以上是生活随笔為你收集整理的【算法】常用的数据结构与算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。