五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

labuladong 的算法秘籍-讀書筆記-學(xué)習(xí)算法和刷題的框架思維

2023-01-15 15:42 作者:風(fēng)格星辰  | 我要投稿

一、數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式

數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式只有兩種:數(shù)組(順序存儲(chǔ))和鏈表(鏈?zhǔn)酱鎯?chǔ))。

所有的數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)都是數(shù)組或者鏈表


數(shù)組

優(yōu)點(diǎn)

因?yàn)榇鎯?chǔ)空間是連續(xù)的,所以查找方便

缺點(diǎn)

但是要插入或者刪除中間元素,需要移動(dòng)后續(xù)所有的元素,所以插入刪除比較麻煩

并且擴(kuò)容的時(shí)候需要將舊數(shù)組數(shù)據(jù)遷移到新數(shù)組,也比較麻煩


鏈表

優(yōu)點(diǎn)

與數(shù)組相反,鏈表的插入刪除很方便,只需要修改指向的指針即可,擴(kuò)容時(shí),修改最后一個(gè)元素的指針指向新地址。

缺點(diǎn)

因?yàn)榇鎯?chǔ)空間不連續(xù),所以查找元素,需要一個(gè)個(gè)元素遍歷找,不能隨機(jī)訪問。并且需要存儲(chǔ)前后元素地址,消耗更多存儲(chǔ)空間。


二、數(shù)據(jù)結(jié)構(gòu)的基本操作

遍歷+訪問 增刪改查

各種數(shù)據(jù)結(jié)構(gòu)的遍歷 + 訪問無非兩種形式:線性的和非線性的

線性就是 for/while 迭代為代表,非線性就是遞歸為代表。

所有數(shù)據(jù)結(jié)構(gòu)的遍歷基本都是由for/while或者遞歸或者他們的組合實(shí)現(xiàn)的


三、算法刷題指南

數(shù)據(jù)結(jié)構(gòu)是工具,算法是通過合適的工具解決特定問題的方法。


作者建議的刷題順序

1、先學(xué)習(xí)像數(shù)組、鏈表這種基本數(shù)據(jù)結(jié)構(gòu)的常用算法,比如單鏈表翻轉(zhuǎn),前綴和數(shù)組,二分搜索等。

2、學(xué)會(huì)基礎(chǔ)算法之后,不要急著上來就刷回溯算法、動(dòng)態(tài)規(guī)劃這類筆試??碱},而應(yīng)該先刷二叉樹,先刷二叉樹,先刷二叉樹

因?yàn)槎鏄涫亲钊菀?strong>培養(yǎng)框架思維的,而且大部分算法技巧,本質(zhì)上都是樹的遍歷問題。


綜上,對(duì)于畏懼算法的同學(xué)來說,可以先刷樹的相關(guān)題目,試著從框架上看問題,而不要糾結(jié)于細(xì)節(jié)問題。


labuladong 的算法秘籍-讀書筆記-學(xué)習(xí)算法和刷題的框架思維的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
扎赉特旗| 岗巴县| 蒲城县| 卢龙县| 邮箱| 宁波市| 桐庐县| 渝北区| 昌平区| 岳西县| 潜江市| 郧西县| 内江市| 策勒县| 佛冈县| 龙口市| 内黄县| 渑池县| 栾川县| 永和县| 昔阳县| 扎赉特旗| 登封市| 乐平市| 嘉兴市| 平邑县| 天长市| 江山市| 寻乌县| 临漳县| 博乐市| 宜宾市| 滨州市| 鄂托克旗| 交口县| 留坝县| 鄢陵县| 柘荣县| 嘉义市| 乳山市| 藁城市|