日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

清華大學(xué)嚴蔚敏,數(shù)據(jù)結(jié)構(gòu)嚴蔚敏pdf

什么是數(shù)據(jù)結(jié)構(gòu)和算法?

清華大學(xué)嚴蔚敏,數(shù)據(jù)結(jié)構(gòu)嚴蔚敏pdf


什么是“算法”算法 , 一看字面就知道 , 肯定是“計算方法”的簡稱啦 , 特指“計算機的計算方法” , 所以 , 算法是由電腦程序來實現(xiàn)的 。算法 , 英文叫Algorithm , 就是為了讓電腦解決一個問題而設(shè)計出來的一套計算方法 , 這套計算方法的設(shè)計是依靠“數(shù)學(xué)模型”的建立 。也就是說 , 程序員在設(shè)計算法之前 , 會將實際問題理解分析 , 歸納為一個“具體的數(shù)學(xué)問題” 。
算法是解決問題的計算方法算法有這么幾個特征1 確定算法的每一個步驟都有“明確的意義” , 對于算法結(jié)果的預(yù)期也是明確的 。2 有窮算法不能一直算 , 停不下來是不行的;要有一個明確的結(jié)束條件 , 要不然算到“天荒地老”還有什么意義呢?3 可行有個笑話說一個人面試會計師 , 算數(shù)特別快瞬間出結(jié)果 , 但是就是算得不對 。4 輸入輸出算法就是用來解決問題的 , 問題的來源就是輸入 , 問題的結(jié)果就是輸出 。
再復(fù)雜的算法也是由一個個小算法組合成的怎么設(shè)計一個算法程序呢算法有三個要素——數(shù)學(xué)模型 , 輸入輸出方法 , 算法步驟 。所以說 , 怎么設(shè)計一個算法呢?首先 , 先對要解決的問題建立一個數(shù)學(xué)模型 , 把原問題化為數(shù)學(xué)問題;然后 , 將問題的“已知條件”化為“數(shù)據(jù)”輸入到數(shù)學(xué)模型中;再然后 , 通過對輸入一步一步的轉(zhuǎn)化/處理/計算 , 得到結(jié)果;最后 , 把結(jié)果按照希望的形式 , 輸出出來 。
數(shù)據(jù)結(jié)構(gòu)對算法設(shè)計至關(guān)重要數(shù)據(jù)結(jié)構(gòu)有兩層含義——1 代表了儲存數(shù)據(jù)的集合一系列的數(shù)據(jù)能夠儲存在這個數(shù)據(jù)結(jié)構(gòu)中 。2 代表了儲存的數(shù)據(jù)之間有特定的關(guān)系這正是“結(jié)構(gòu)”一詞的意義 , 學(xué)過線性代數(shù)的同學(xué)一定很清楚 , 結(jié)構(gòu)的力量很強大 , 能讓信息量成倍地擴大 。數(shù)據(jù)——重要的信息價值所在數(shù)據(jù)結(jié)構(gòu)的選擇會極大地影響算法設(shè)計合適的數(shù)據(jù)結(jié)構(gòu)能讓算法設(shè)計時更高效更簡潔 , 而不合適的數(shù)據(jù)結(jié)構(gòu)有時候會把算法設(shè)計帶入深淵 , 甚至無法實現(xiàn)算法 。
【清華大學(xué)嚴蔚敏,數(shù)據(jù)結(jié)構(gòu)嚴蔚敏pdf】有些初學(xué)編程的朋友在處理一些算法問題時 , 難免會遇到一些“感覺很繁瑣 , 但又想不出什么簡單的方法”的情況 , 這時不妨回來看看數(shù)據(jù)結(jié)構(gòu) , 換一個更適合的數(shù)據(jù)結(jié)構(gòu) , 常常會有柳暗花明之感呢 。數(shù)據(jù)結(jié)構(gòu)是編程的基礎(chǔ)中的基礎(chǔ)初階數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)共8種 , 有4種最常用也最簡單 , 它們是:數(shù)組(Array)鏈表(Linked list)堆棧(Stack)隊列(Queue)由于它們的結(jié)構(gòu)都是線性的 , 它們還有一個共同的名字——“線性表” 。

    推薦閱讀