必須先學c語言再學資料結構與演算法設計嗎

2021-04-18 09:12:35 字數 2927 閱讀 3250

1樓:模糊的記憶

是的,如果連基礎的c語言語法都不會,那你怎麼去實現你要學習的演算法呢?

沒學過c語言可以學c語言資料結構與演算法嗎?

2樓:匿名使用者

你好一點小建bai議希望能du

對你有幫助

(1)學演算法

學習演算法和zhi具體的語言還是dao

有一內定的聯絡,比如說你的容演算法最後要用c語言來實現,因為c是程序導向的,所以這和用物件導向的語言如c++來實現可能考慮的思路是有點區別的,但是你要說有絕對的關係也不一定,因為演算法他是一種思想,一種解決思路,所以從這個角度來說,你也可以把他們分開,但是你的演算法最終要實現,所以你不但要學演算法,還要學語言,如果你說我只實現演算法,程式設計讓別人去做,這是不現實的,專用編過程的人它才能做出高效有意義的演算法

(2)學資料結構

這和學演算法也不一樣,如果你不會c或c++,你去看資料結構你是看不懂的(3)學語言

學習哪門語言不是關鍵,關鍵你要學精,學精了做什麼當然都可以,但是你說我只要學了c就可以萬能了,這也是不可能的,這個世界哪有****呢?

但是隻要掌握一門語言後,學習其他的語言就很容易上手,因為語言都是有同性的,如果你非要問我學c好還是學c++,哪我只能忍痛的說學c++,雖然c是非常非常的經典,但是兩者你只讓我選一個嘛!!

好了,一點建議,希望能給你啟發

祝你好運!

3樓:我想說兩句

最好是先學c語言 再學c++ 因為資料結構是用c語言或c++描述的 但c語言不是抽象資料的型別的理想描述工具,所以要知道點c++的知識

4樓:手機使用者

有c語言版的資料結構的書,基本上在加上譚浩強的c語言教程就可以了,祝你成功!^-^

5樓:

可以,bai資料結構和演算法對其它的du語言一樣的重要zhi,可以說是dao

學程式設計的都必須學好吧內!你沒有學c/c++去學容c/c++資料結構和演算法會比較吃力!

先學好c語言再學c++最好了!你學c後再學c++會比較容易!但是你學c++後再學c就比較難了!

6樓:小豬叄兒

可以的,但是學演算法的過程,也要同時開始學語言,在實踐中才能學習。

初學者從c開始比較好,相對直觀一些,容易上手。上手以後,c++也不難學了。

7樓:

可以。有各種版本的資料結構,比如你學了vb,那麼你就可以學vb版本的資料結構。

8樓:

c++是從c過來的 學c++之前先學會c就容易上手了

你不懂c語言的話 資料結構就不太容易學了 演算法在這學c的過程中都會有

9樓:匿名使用者

我認為 不能, 當然 如果你是天才的話 那另當別論了.

試想 你連c語言的語法都不知道 怎麼能學懂 用 c 去 描述相應演算法 思想的 ** 呢?

10樓:平大爺

演算法 和 資料結構 通用的

語言問題是另外一回事了。。想學演算法推薦《演算法導論》(噹噹網上都有賣)

資料結構也有專門介紹的書籍

11樓:翁氏家族_知識

如果直接學c語言資料結構與演算法 就會看不懂的

我覺得都學比較好。

12樓:御姐丶你在哪

《資料結bai構與演算法

》以基本資料結du構和演算法設計策略為zhi知識單dao元,系統地介紹了資料結構的知內識與應用、容計算機演算法的設計與分析方法,主要內容包括線性表、樹、圖和廣義表、演算法設計策略以及查詢與排序演算法等。

如果在沒有學過c語言的情況下去學習資料結構與演算法的話會讓你理解時非常困難,甚至不知道這個if對應著某個else, 不知道這個條件到底想表達什麼,所以如果想要學好c語言資料結構與演算法,一定要先學習c語言喔,至少要把基本的語法部分搞懂!!

13樓:塵封夢想

至少也該學過一門程式語言

14樓:

最好先學

baic語言,再去看c語言的資料結構

du與演算法,看c語言zhi的資料結構dao與演算法的時候,是對以前版學習的c語言知識的權鞏固,是c語言的運用。

不然,很可能看不懂資料結構與演算法的c語言描述的哦。

我認為vb和c語言的差別是很大的,所以建議先學c再說。雖然在高手看來,只要精通程式設計了,語言都是相通的,但我們還遠不是高手吧。

另外,學資料結構建議去看c語言版本的,描述一個資料結構或者演算法,用c來實現往往比用c++來實現的**來得簡單,明瞭。

學資料結構和演算法之前要先學什麼?

15樓:匿名使用者

學習演算法和資料結構就是把你的程式執行速度變得更快,記憶體需求變得更小,**長度變得更短。正式進入資料結構和演算法前需要了解下c++記憶體的那些事。

在c++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域性/靜態儲存區和常量儲存區。

棧,在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內建於處理器的指令集中,效率很高,但是分配的記憶體容量有限;

堆,就是那些由new分配的記憶體塊,它們的釋放編譯器不去管,由我們的應用程式去控制,一般一個new就要對應一個delete。如果程式設計師沒有釋放掉,那麼在程式結束後,作業系統會自動**;

自由儲存區,就是那些由malloc等分配的記憶體塊,它和堆是十分相似的,不過它是用free來結束自己的生命的;

全域性/靜態儲存區,全域性變數和靜態變數被分配到同一塊記憶體中,在以前的c語言中,全域性變數又分為初始化的和未初始化的,在c++裡面沒有這個區分了,他們共同佔用同一塊記憶體區;

常量儲存區,這是一塊比較特殊的儲存區,它們裡面存放的是常量,不允許修改。

以上內容摘自《c++記憶體管理技術內幕》,學習資料結構和演算法前可以多多看一下。

c語言資料結構的基本問題,C語言資料結構的一個基本問題

1 int read 2d array int array,int i,int j,int column 2以上函式的引數第一行的int array是函式引數這個引數說明該函式引數列表一接收的資料型別為int 型的變數 也就是指向int 型指標變數的指標變數 那麼return int array i...

資料結構C語言中引數傳遞的與用法

在c 中作為引抄用形參,c中是不能襲這樣用的,資料結構中使用的類c寫的,為了保持相容性就是用了引用形參 是用的c中的雙指標的問題,就是說指向指標的指標,即指標的內容在函式中可以被改變,如果用單指標指標的話,對指標的改變不會被帶出函式 這一點是難點,我以前也在這而迷惑了好長一段時間,好好想想等你明白了...

C語言資料結構迴圈佇列插入操作,資料結構(使用C語言)佇列

取餘是為了判斷佇列是否是滿的 sq a sq rear x 這句是講x插入到隊尾 include include struct link cqueue 初始化迴圈鏈佇列 struct link cqueue init link cqueue 1 插入 即入隊 演算法 struct link cque...