資料結構與演算法 集錦篇之聽說你想好好學演算法

2022-09-07 16:39:15 字數 1345 閱讀 7201

演算法從去年 10 月份就開始攻克,一邊工作,一邊學習,終於在今天可以算是告乙個段落了.現在想想,我的拖延症真是厲害哇

剛開始學演算法的時候,挺懵的,特別是拿到乙個演算法題目,竟然沒有思路,完全不知道該怎麼去實現這個功能.

硬著頭皮刷了一道演算法題,又刷了一道演算法題,慢慢慢慢下來,竟然也寫了不少的部落格,刷了不少的題.

在刷演算法的過程,不是沒想過放棄;不是沒想過今天這麼累了,要不就先放放不學了;不是沒想過刷演算法有什麼意義,實際工作中確實不怎麼用.

但是這個過程堅持下來,當我在工作中碼**的時候就會想想,這個功能的**我能不能再優化優化;這幾行**的時間複雜度有點兒高啊,得想想是不是有其他辦法;去看原始碼的時候,哦豁,原來演算法還能這麼用,這麼玩

頗有一種醍醐灌頂的感覺

我在學演算法的過程中,知道對於乙個入門級的人來說,如果沒有乙個完整的,可以跑起來的**,對演算法就總是會有一種畏懼感.所以我在寫文章的過程中,是把整個演算法從開始到結束的**都貼出來了,目的就是為了在你學演算法而不知道怎麼辦的時候,看到我的**複製貼上下來立刻就能跑起來,讓你覺得,原來就這麼幾行**啊,原來這麼神奇呢,然後你就可以耐著性子打斷點去瞅瞅程式是如何一步一步執行的

所以今天這篇文章,算是對過去寫的文章乙個集錦,你想學演算法的話,可以看看我的學習路線,希望能夠幫助到你

[資料結構與演算法]01 為什麼要學資料結構與演算法

[資料結構與演算法]02 什麼是資料結構與演算法以及我該怎麼學

[資料結構與演算法]03 計算時間和空間複雜度

[資料結構與演算法]04 link list (鍊錶)及單鏈表反轉實現

[資料結構與演算法]05 stack 經典面試題之判斷字串是否合法( j**a 版)

[資料結構與演算法]06 陣列( array )

[資料結構與演算法]07 關於單鏈錶環的操作( j**a 版)

[資料結構與演算法]08 佇列( queue )以及佇列實現的三種方式( j**a 版)

[資料結構與演算法]09 氣泡排序( j**a 版)

[資料結構與演算法]10 直接插入排序( j**a 版)

[資料結構與演算法]11 一篇文章教你搞定遞迴單鏈表反轉

[資料結構與演算法]12 你可能知道二分查詢,但你肯定不知道還有這樣的二分查詢!

[資料結構與演算法]13 雜湊表的這些知識,了解的可還行?

[資料結構與演算法]14 搞不懂線性結構,非線性結構?

[資料結構與演算法]15 兩行**就可以搞定求眾數,但還有更巧的

[資料結構與演算法]16 什麼,圖這種資料結構把你難住了?!

演算法對我來說,只是告乙個段落,接下來我會繼續學習這方面的內容,所以後期更新的話,這篇文章也會隨之更新,如果你想持續關注,強烈建議收藏一下這篇文章!!!(看到我的三個感嘆號了嘛!!!

資料結構之演算法篇

演算法 是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 1.輸入輸出 演算法具有零個或多個輸入,至少有乙個或多個輸出。2.有窮性 指演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。3.確定性 演算...

資料結構與演算法篇 hash

python中dict結構用雜湊表構建,採用開放定址法解決雜湊衝突 1 雜湊函式構造方法 自己選擇某種規則,避免衝突 直接定址法 數字分析法 平方取中法 摺疊法 除留餘數法 除數為質數 2 解決衝突方法 待插入的元素按雜湊函式計算得到的位址已經被占用 開放定址法 線性探測再雜湊,位址不斷加1,2,3...

演算法與資料結構 排序篇

演算法 平均複雜度 最壞情況 原地排序 額外空間 是否穩定 選擇排序 o n 2n n2 o n2n n2 是 o 1 是氣泡排序 o n 2n n2 o n2n n2 是 o 1 是插入排序 o n 2n n2 o n2n n2 是 o 1 是歸併排序 o n lo gn nlogn nlogn ...