1樓:幻影
太多了,棧,佇列,指標,結構體,共同體(知道一下就行了),還有鏈式的。排序演算法,查詢演算法,經典的我就不說了吧,應該知道的。還有遞迴方法,再深一些,剪枝演算法,動態規劃等。
2樓:匿名使用者
資料結構 就是儲存資料的。
演算法就是乙個邏輯
3樓:勞斯萊斯丨
常量變數 資料的型別(整型,實型,字元型)和用法。演算法嘛,記住各個運算子的用法和優先等級
學習資料結構與演算法需要哪些必備知識
4樓:亦棲梧
首先得先會一門語言,可以自己動手去實踐這些演算法,比較基本的入門就是:鍊錶,棧,二叉樹和圖這些基本的資料結構和排序、查詢等,吃透這些,書籍可以看《c語言版的資料結構》,還可以學習下線性代數。然後高階提高是根據你想從事哪方面的工作,比如遊戲開發,可能需要學習八叉樹,perlin噪音等。
就這些吧
學資料結構和演算法之前要先學什麼?
5樓:匿名使用者
學習演算法和資料結構就是把你的程式執行速度變得更快,記憶體需求變得更小,**長度變得更短。正式進入資料結構和演算法前需要了解下c++記憶體的那些事。
在c++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域性/靜態儲存區和常量儲存區。
棧,在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內置於處理器的指令集中,效率很高,但是分配的記憶體容量有限;
堆,就是那些由new分配的記憶體塊,它們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,那麼在程式結束後,作業系統會自動**;
自由儲存區,就是那些由malloc等分配的記憶體塊,它和堆是十分相似的,不過它是用free來結束自己的生命的;
全域性/靜態儲存區,全域性變數和靜態變數被分配到同一塊記憶體中,在以前的c語言中,全域性變數又分為初始化的和未初始化的,在c++裡面沒有這個區分了,他們共同占用同一塊記憶體區;
常量儲存區,這是一塊比較特殊的儲存區,它們裡面存放的是常量,不允許修改。
以上內容摘自《c++記憶體管理技術內幕》,學習資料結構和演算法前可以多多看一下。
請問大學學習資料結構與演算法(c語言版)需要多強的c語言基礎?
C語言資料結構演算法和C 資料結構演算法有什麼區別嗎??進來看看
你就直接學c 也應該要把c語言搞清楚,c語言的 寫起來要比c 繁瑣一些,不過學習的時候也理解更深刻。不用換,演算法 資料結構是程式設計的 核心,無論什麼語言 所用到的演算法 資料結構是內 一樣的容 唯一的影響可能是書裡一些c語言的 你可能不太懂 會對你的學習有一定的影響,不過影響不大 c 和c語言 ...
資料結構演算法的時間複雜度資料結構與演算法,請問時間複雜度是怎麼判定的?
按照分析慣例,假設所有單一運算的時間複雜度均為1 x n 1 while x y 1 y 1 4 兩次加法 1次乘法 1次比較 y y 1 1 時間複雜度 1 4 1 x 迴圈次數 迴圈次數是由n和y的初始值決定的,假設迴圈次數為n,y的初始值為y0,y的結束狀態為yn,有 x yn 1 yn 1 ...
資料結構C語言,資料結構和C語言有什麼區別?
typedef struct qnode qnode,queueptr 定義兩個新資料型別qnode,queueptr,相當於 typedef struct qnode qnode typedef struct qnode queueptr 使用方法 qnode qdata struct qnode...