1樓:
資料結構。一般大學課程設計都是先開c語言再開資料結構最後開演算法。理解資料儲存是更基礎的東西。
2樓:
先看資料結構在看演算法,其實有有些書是資料結構和演算法一起講的,他就是講了一種資料結構然後對應講點相關的演算法這樣子的,演算法是建立在資料結構之上的,演算法是比較廣的。
3樓:匿名使用者
其實樓主應該要先知道記憶體 和 cpu在計算機的作用
很多不懂計算機技術的人都知道乙個差不多等於腦容量,乙個差不多等於腦神經的速度。
在我自己的學習中感覺所有演算法都是按這兩方面考慮的。
而資料結構一般是處理腦容量的,演算法是充分利用腦神經的
比如給你一組資料,要你求這組資料中一部分資料的最大值(等),(假如要求的區間很多)
你應該考慮怎麼存放這些資料,怎麼找到合適的演算法來快速求解。而對於這樣的問題是可以找到一些奇妙的資料結構和演算法來求解的(我知道的有dp ,線段樹,如果資料中的每個資料值是唯一的,那dp是很簡單的,不唯一的話有點複雜,不過也有dp解法)。
而對於這個問題究竟是學資料結構先,還是先學演算法先好,我感覺還是很難回答。
對於基礎學習,你應該自己找到合適自己的學習方法。或許你這一分鐘在學習資料結構,下一分鐘可以在學習演算法。
學習不要死來。
你要啃一本書的話,可以看下演算法競賽入門經典。還應該學會acm競賽中oj的使用(為了練習),不知道acm競賽的問下你們學校學計算機的一些學長,應該有人知道的。
4樓:伯林根塔樓
一起看,我們上課是都是一起學的
請問學c++先學資料結構還是先學演算法呀?學過c語言馬馬虎虎,就是不知道這個演算法和資料結構先學哪個比較好
5樓:
演算法與資料結構
建議學習嚴蔚敏的那本演算法與資料機構(c語言版),這個很基礎,也很不錯資料結構其實和語言無關,只不過實現的不同罷了物件導向的還是等對c有了更深的領會之後再學吧
6樓:大叔iq高
拿一本c++版的資料結構看一下就行,資料結構裡就有很多經典演算法的實現。
7樓:nupt小飛俠
有耐心的話,認真讀完《演算法導論》,就相當於是把資料結構和演算法都學了。然後再到http://poj.
org這個**上做題,這樣實踐練習會好很多。學校裡要是有acm培訓就更好啦!
c語言與演算法和資料結構的關係
8樓:匿名使用者
資料結構的主要作用是幫助你提公升自己的程式設計思維!使你編寫程式的時候有乙個好的思維和框架!使你寫的**和程式有乙個好的框架!
資料結構研究的是資料的邏輯結構、儲存結構(物理結構)和資料的運算.其中的資料運算就是指演算法
演算法只是具體的實現步驟的指令集合!但是演算法也是資料結構最重要的一部份!設計乙個好的演算法可以提高自己程式的執行效率!
(演算法不一定要求能夠在計算機上直接執行,但程式必須要求能在計算機中執行)
c語言只是對演算法或者資料結構的描述!描述資料結構和演算法不侷限於c語言,也可以是c++語言和其他的計算機語言甚至也可以用人的自然語言!
所以只是說學習好c語言能夠使自己學習的資料結構理論更好的在計算機中描述和表達!
9樓:匿名使用者
肯定是資料結構啦,資料的邏輯結構決定了演算法,資料的儲存結構決定了如何實現演算法。但是我覺得還是要了解一點c的基礎知識比較好。因為資料結構裡用的語言不是嚴格的c語言而是一種類c的解釋語言。
有c更有助於你理解資料結構。而且若是你想更進一步發展的話,比如考研資料結構就是必考的一門,所以資料結構很重要!!
10樓:匿名使用者
程式設計 = 演算法 + 資料結構 ,至於c語言只是一種工具
11樓:**頁
① 不要認為單獨學c很難真正編寫出程式。
② 不要太認為你沒學資料結構和演算法難以解決實際程式設計問題。
③ c語言只要你熟練掌握,這就是你學data structure and algorithms 的基礎。
④ 學好數構和演算法的前提是:你c語言用得比較熟練了(特別是指標、復合變數、陣列的程式設計運用)
⑤ 最後,你只要看一本關於資料結構和演算法的書就夠了《演算法導論》(國外的那本),如果要深入搞懂它,最好看它之前看knuth的一本《concrete mathematics》。演算法導論算是演算法與資料結構的聖經了,裡面充分講了演算法和資料結構的大部分理論和實踐。
⑥另外,演算法和資料結構是有深刻關係的,但是你完全可以學演算法的時候不用複雜資料結構就能解決大部分問題;或者不用複雜演算法,單憑構造複雜資料結構解決複雜問題。
應該先學演算法還是資料結構??
12樓:匿名使用者
個人愚見
演算法是解決問題的方法
解決一種問題可以有很多方法(演算法) 所以就存在解決具體問題最優秀的演算法(方法)
而好資料結構能大大的提高演算法的質量
也就是說先學一下資料結構 對一些常用的資料結構有個了結在一些複雜的演算法中就能體現出資料結構的好處很多資料結構書後部分都講演算法
樓上說 演算法往往是針對特定的資料結構 很正確而「往往」這兩字 就說明了複雜演算法往往需要好的資料結構來支援但也有一些演算法不用到書上所說的資料結構
如 對10個整形數排序
用冒泡法呢? 還是用選擇法呢? 這就是演算法的選擇問題好像跟資料結構沒多大聯絡
個人建議 看看資料結構 了解常用和優秀的資料結構再看那些複雜演算法
13樓:匿名使用者
個人愚見,資料結構是演算法的凝結品,因為各種資料常用或通用的資料結構能夠解決在實際應用中的一些問題,然而演算法就是解決問題的一套思路,當這套解決問題的思路固定之後,就會有相應成熟的資料結構產生,也就是雞和雞蛋那個先存在的問題,如果按照正常的思路,先學資料結構,然後再學演算法,不過一般在學資料結構的時候,肯定會有一些知名 的演算法會順帶地學到
14樓:匿名使用者
我想是先學資料結構再學演算法!因為我們是先學的資料結構
因為你只有先了解了資料的結構後才能對它進行操作!
15樓:匿名使用者
乙個演算法往往是針對特定的資料結構的,你說應該先學什麼呢?赫赫
16樓:匿名使用者
當然是先學資料結構啦
17樓:匿名使用者
按課程安排是資料結構在前
學習資料結構(要考研 但不單是為考研) 本身c語言基礎一般 看書還是看得懂 但是問題是有些演算法讓我很上火
18樓:不可能無人註冊
如何達到較熟悉的看下就能知道其執行過程的程度?
我覺得世界級程式設計高手也達不到這種程度。
遞迴看了以後一定得分析才能懂。對遞迴越熟,分析時就越少,就能懂整個遞迴的功能。
要想熟悉某個演算法。你光看些理論知識是沒用的。要多用這個演算法寫程式,寫多了自然就熟悉了。
書上的理論和例子看懂了,你對這個演算法就了解三成。剩下的六七成要靠實踐惡補的。
19樓:匿名使用者
呵呵。。。去做oj吧。
poj.org
資料結構演算法。。acm**。
大量題庫和測試資料讓你實踐,網上無數的解題報告。。
實**測你的答案。。讓你沉迷。。。
20樓:匿名使用者
如果怕繞煩的話,可以試著用數學公式寫出來,程式演算法應該都可以寫成數學公式,實際問題需要練習的僅是把什麼作為變數,如何求變數關係的遞迴關係,寫出了公式再對照寫程式,比直接寫會不容易錯誤,也嚴謹很多。
21樓:匿名使用者
不要模擬執行遞迴,不要期望什麼東西都可以集中一段時間學通,不要過於鑽。you just need time, that's what i would say.
22樓:
演算法 變成 程式是這樣的,演算法不過是理論,程式才是真的
23樓:
你在想遞迴程式的時候就想最開始的幾步就成了,然後直接就跳到最後一步看看能不能有乙個具體的結束語句,不用想太多,你寫的時候就對照著堆疊來像,其實遞迴程式跟堆疊差不多,一直放資料,到最後有乙個返回語句後就一步步出棧。
24樓:匿名使用者
每乙個需要考點演算法都用乙個程式模擬一下就記住了
25樓:
其實什麼東西等你用的時候就知道了,學習時知道那回事就行了。
c語言,資料結構,演算法導論三本書的關係是什麼,學習它們要有什麼基礎,以及三者學習先後次序是什麼?
26樓:揮劍五號
c語言就像鞋,資料結構就相當於走路,演算法導論就像跑步
只有穿上了鞋,你才能走起來,走的熟練了才能跑起來。
否則,你會走的腳疼,雖然也能走。。。。。
27樓:匿名使用者
c 資料結構 演算法導論
c不用基礎。資料結構和演算法導論至少得學一門語言吧。
先學資料結構看演算法導論可能會好點。畢竟演算法導論很多都涉及資料結構。
而且要看演算法導論的話,對語言比較熟悉之後再看比較合適。
28樓:空雪夢見
c語言是工具,資料結構是這個工具能做的事,演算法導論是自己想想看這個工具還能做什麼事,好像是這樣……
看資料結構之前是看C語言呢還是C 的好
最好是先學習c語言,因為c 是在c的基礎上開發的。1 c語言 是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規...
c語言學到哪個程度可以看資料結構
資料結構我認為主要有三個方面。1 抽象解釋。首先根據某個結構,利用自然語言進行描述,然後才能體現到 上,如果你抽象解釋看不懂,說明你的的數學知識不牢固,可以複習高中數學必修3中講程式的那一節。2 流程圖。根據自然語言的描述,把他體現在流程圖上,注意流程圖是學習資料結構的關鍵,資料結構不難,但很煩,他...
我學完了c語言,現在需要學資料結構嗎
果儼彌星津 可以先學c語言再學資料結構,也可以反著來。資料結構是程式設計思想,想寫得好是必須要學的。c語言是種程式語言,只要學會語法和結構就可以開始試著程式設計了。 長沙新華電腦學院 當然要學啊,學個程式語言不只是c,還要學很多其他的東西 本人在學習c語言和資料結構,基礎知識都已經學完了,之後能做一...