為什么一定要學(xué)算法?

算法,先于計算機存在于世,比編程語言本身更為重要,語言只是工具,而算法才是靈魂。---云風(fēng)《游戲之旅-我的編程感悟》第二章(4m8h)

1、算法評估

? ? 1.空間復(fù)雜度

? ? 2.時間復(fù)雜度

? ? 3.對基本操作的評估(一次加減乘除或內(nèi)存訪問,函數(shù)調(diào)用,都可以算作一次基本操作)

通常用大O表示法(big-Oh notation)來表示問題的復(fù)雜度,它表達(dá)的是問題的計算量的層次,O即Order的縮寫,O(n^2)表示基本操作使用的次數(shù)和問題的規(guī)模成平方的關(guān)系。

常見的層次按一下表遞增:

復(fù)雜度

2、數(shù)據(jù)結(jié)構(gòu)

程序是由算法和數(shù)據(jù)結(jié)構(gòu)組成的,要想學(xué)算法,也要學(xué)會如何去組織數(shù)據(jù),處理數(shù)據(jù)。

? ? 1.線性表

? ? a.數(shù)組和鏈表

數(shù)組:指屋里地址連續(xù)的表,可以用內(nèi)存地址來檢索到對應(yīng)的元素,可以用常數(shù)時間訪問到指定2位置的元素,但是在中間插入和刪除元素的時間復(fù)雜度為線性的。

鏈表:每個元素的物理位置是任意的,通過指針串接起來,它訪問的時間非常長,但是插入和刪除的速度卻很快,由于需要額外的空間記錄元素的前后關(guān)系,占用內(nèi)存也大于數(shù)組。

? ? b.堆棧、隊列和串

堆棧和隊列是兩種特殊的線形表。

堆棧:只能從一頭進(jìn)出,先進(jìn)入的數(shù)據(jù)后出來,廣泛用于類C語言的函數(shù)調(diào)用機制。做深度優(yōu)先搜索求解問題時也需要它。

隊列:和堆棧相反,采用先進(jìn)先出,讓數(shù)據(jù)從線性表的一頭進(jìn)入,從另一頭出去,用來保持元素的先后順序,被廣泛用在消息通訊中,也可以用于廣度搜索的算法。

優(yōu)先隊列:每個元素都有一個優(yōu)先級,出隊列的時候,永遠(yuǎn)是優(yōu)先級最小的元素優(yōu)先,通常不是由線性表來實現(xiàn)。

c.樹、二叉樹及其他

樹:對有層次的數(shù)據(jù)集的一種組織方式,樹中每個數(shù)據(jù)節(jié)點都有或沒有它所下屬的數(shù)據(jù)集,除了根節(jié)點是整棵樹的根源外,每個數(shù)據(jù)節(jié)點都有唯一的父親。

二叉樹:二叉樹的子樹有明確的左右之分,讓左子樹指向自己的一個兒子,讓右子樹指向自己的下一個兄弟。在表達(dá)式計算和數(shù)據(jù)壓縮,以及排序查找方面都有很多的用途。

四叉樹及八叉樹:四叉樹用于平面劃分,八叉樹用于三維空間,這里所說的空間,不僅僅局限于游戲里的場景空間。

圖:圖中每個節(jié)點并沒有父子關(guān)系,圖純粹是點和邊的集合,節(jié)點和節(jié)點之間允許加上一些與它相關(guān)的數(shù),稱為權(quán),帶權(quán)的圖一般叫做網(wǎng)絡(luò),節(jié)點和節(jié)點之間可以是無方向的連接,也可以是有向連接。

d.映射表

key和內(nèi)容對應(yīng)起來。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 序 2016年6月25日夜,帝都,天下著大雨,拖著行李箱和同學(xué)在校門口照了最后一張合照,搬離寢室打車去了提前租...
    RichardJieChen閱讀 5,372評論 0 12
  • 樹的概述 樹是一種非常常用的數(shù)據(jù)結(jié)構(gòu),樹與前面介紹的線性表,棧,隊列等線性結(jié)構(gòu)不同,樹是一種非線性結(jié)構(gòu) 1.樹的定...
    Jack921閱讀 4,758評論 1 31
  • 四. 走向世界之巔——快速排序 你可能會以為歸并排序是最強的算法了,其實不然?;叵胍幌?,歸并的時間效率雖然高,但空...
    Leesper閱讀 2,001評論 9 7
  • 問題:為什么需要尊重到每個細(xì)節(jié)? 我以前一直不太能理解,為什么書里描寫的那些如此能力超群的人,會如此刻意的尊重每一...
    維京閱讀 206評論 0 1

友情鏈接更多精彩內(nèi)容