1樓:匿名使用者
舉個bai例子,你寫個程式,要存du全校學生zhi的資訊。
首先學生數量dao可能是專變動的,你不可能寫屬成固定陣列。
你可以思考下怎麼存。
這時候就可以建立一個連結串列,在每次輸入一個新生時把他掛入連結串列。
這樣就可以遍歷學生資訊了。
這裡只是講資料結構對儲存的作用,另外一方面是,好的資料結構,可以使演算法簡單,可以讓程式結構清晰。
這裡我想吐槽下,學校的教育模式:學生都不知道是幹嘛的,幹嘛要去學,還要考高分?而老師只會說:
能到以後你們就會明白的,我靠。不知道學的東西是幹嘛用的,我怎麼想去學,怎麼會有興趣,怎麼會去主動。
2樓:匿名使用者
一個程式就是由資料結構和演算法組成的。
演算法就是你解決這個問題的想法,用什麼樣的方法哪些步驟去解決。
資料結構就是你解決問題時所需要用的工具,比如儲存資料,優化程式等
什麼是資料結構和演算法分析?在程式設計裡起到什麼作用?
3樓:碼寶寶呀
什麼是資料
結構和演算法?
資料結構是指相互之間存在著一種或多種關係的資料元素的集合和該集合中資料元素之間的關係組成。簡單來說,資料結構就是設計資料以何種方式組織並儲存在計算機中,演算法就是運算元據的方法。
資料結構和演算法是相輔相成的。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。 因此,我們無法孤立資料結構來講演算法,也無法孤立演算法來講資料結構。
資料結構是靜態的,它只是組織資料的一種方式。如果不在它的基礎上操作、構建演算法,孤立存在的資料結構就是沒用的。
在程式設計中的作用?
剛開始學習程式設計時有一種誤解,會程式設計就行,研究什麼資料結構啊?資料結構與演算法能夠幫你如何快速把現實問題轉化為計算機語言。到底該怎麼轉化?
《資料結構》已經給出了指引:設計出資料結構,在施加以演算法就行了,當然現實問題會更復雜,需要框架,類庫,模式等支撐,具體的知識可以去小碼哥李明傑瞭解。
這是一種非常重要的邏輯思維能力的鍛鍊,也是程式設計師入門的條件。很多半路出家的人, 僅僅上了個培訓班後參加工作,寫出的**實在是慘不忍睹,很明顯只掌握了工具,邏輯思維的訓練遠遠不足。
總結一下,學習完資料結構其實會潛移默化的影響你的邏輯思維,當然,你需要多多練習才有可能使用純熟,等它變成身體一部分以後,你就發現其實大部分程式設計任務都沒什麼難度了,更難的其實是對程式設計更高的要求:抽象的能力。
4樓:匿名使用者
程式設計是為了解決問題,這些問題並表都是數值計算,其所處理的資料並不都是數值,但計算機所能處理的最終是0和1的二進位制串,所以需要把問題中的資料用計算機能處理的方式來表示,這就需要資料結構。
簡單的說,資料結構是資料在計算機中的表示方式,有邏輯結構和物理結構之分,如邏輯上同樣的佇列,物理上可以是順序儲存,也可以是鏈式儲存。
通俗的講,演算法就是解決問題的方法,比如同樣的排序,可以用氣泡排序、插入排序等,不同的演算法可以達到相同的目標,但是效率可能有所不同。
5樓:匿名使用者
開發軟體的時候,總會遇到需要針對資料計算結果的時候,怎麼用計算機語言把計算過程表示出來,就是演算法了。
c語言與演算法和資料結構的關係
6樓:匿名使用者
資料結構的主要作用是幫助你提升自己的程式設計思維!使你編寫程式的時候有一個好的思維和框架!使你寫的**和程式有一個好的框架!
資料結構研究的是資料的邏輯結構、儲存結構(物理結構)和資料的運算.其中的資料運算就是指演算法
演算法只是具體的實現步驟的指令集合!但是演算法也是資料結構最重要的一部份!設計一個好的演算法可以提高自己程式的執行效率!
(演算法不一定要求能夠在計算機上直接執行,但程式必須要求能在計算機中執行)
c語言只是對演算法或者資料結構的描述!描述資料結構和演算法不侷限於c語言,也可以是c++語言和其他的計算機語言甚至也可以用人的自然語言!
所以只是說學習好c語言能夠使自己學習的資料結構理論更好的在計算機中描述和表達!
7樓:匿名使用者
肯定是資料結構啦,資料的邏輯結構決定了演算法,資料的儲存結構決定了如何實現演算法。但是我覺得還是要了解一點c的基礎知識比較好。因為資料結構裡用的語言不是嚴格的c語言而是一種類c的解釋語言。
有c更有助於你理解資料結構。而且若是你想更進一步發展的話,比如考研資料結構就是必考的一門,所以資料結構很重要!!
8樓:匿名使用者
程式設計 = 演算法 + 資料結構 ,至於c語言只是一種工具
9樓:**頁
① 不要認為單獨學c很難真正編寫出程式。
② 不要太認為你沒學資料結構和演算法難以解決實際程式設計問題。
③ c語言只要你熟練掌握,這就是你學data structure and algorithms 的基礎。
④ 學好數構和演算法的前提是:你c語言用得比較熟練了(特別是指標、複合變數、陣列的程式設計運用)
⑤ 最後,你只要看一本關於資料結構和演算法的書就夠了《演算法導論》(國外的那本),如果要深入搞懂它,最好看它之前看knuth的一本《concrete mathematics》。演算法導論算是演算法與資料結構的聖經了,裡面充分講了演算法和資料結構的大部分理論和實踐。
⑥另外,演算法和資料結構是有深刻關係的,但是你完全可以學演算法的時候不用複雜資料結構就能解決大部分問題;或者不用複雜演算法,單憑構造複雜資料結構解決複雜問題。
c語言資料結構與演算法要掌握哪些知識,請詳細說明?
10樓:幻影
太多了,棧,佇列,指標,結構體,共同體(知道一下就行了),還有鏈式的。排序演算法,查詢演算法,經典的我就不說了吧,應該知道的。還有遞迴方法,再深一些,剪枝演算法,動態規劃等。
11樓:匿名使用者
資料結構 就是儲存資料的。
演算法就是一個邏輯
12樓:勞斯萊斯丨
常量變數 資料的型別(整型,實型,字元型)和用法。演算法嘛,記住各個運算子的用法和優先等級
資料結構與演算法和c語言有什麼關係嗎?
c語言資料結構中鏈棧的問題,C語言資料結構中鏈棧的問題
這個鏈棧應該bai就是一個du 用連結串列弄的後進先出的 zhi棧結構dao。top指標永遠指向棧的最上面的回那個節點。這個函式是新加一個節點到這個棧中,首先分配了空間給s,s是要新加入這個棧的那個節點。s next top 就是讓s指向棧的最上面的那個元素。top s 因為現在最上面的節點是s了,...
資料結構的演算法在VB程式語言中怎麼樣實現
每門bai 程式語言其實本質上是相du似的,只zhi是語法上有些差別。數dao據結內構並不歸為哪一種語言容,資料結構是每一門語言的根基,只要你把資料結構學好了,那麼你學任何其他的程式語言只要把他的語法搞清楚就可以了。就哪一樓的排序問題來說把,把幾個數進行排序,那麼你只要搞懂了資料結構中的排序演算法,...
哪些資料結構與演算法需要學習,什麼是資料結構和演算法學演算法還需要去了解資料結構嗎
2談談面向bai物件,物件就是一種du資料結構zhi 什麼是資料結構和演算法?學演算法還需要去了解資料結構嗎?你這理解不完全正確。因為資料結構不只是記憶體中資料的排列,它是對資料的一種組織方式,就像圖書館要排書一樣,是為了便於操作,同時它本身也整合了對通用操作 比如查詢 比較等的支援。陣列不是一種資...