c語言應(yīng)該怎么學(xué)習(xí) c語言沒有學(xué)好,如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?
c語言沒有學(xué)好,如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?題主應(yīng)該是先清晰界定兩個(gè)概念:編程語言和數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是一種思維,它的目標(biāo)是將不是現(xiàn)實(shí)世界中各種各樣的數(shù)據(jù)盛有到內(nèi)存中,在內(nèi)存中不能操作這些數(shù)據(jù),并盡可能會(huì)
c語言沒有學(xué)好,如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?
題主應(yīng)該是先清晰界定兩個(gè)概念:編程語言和數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是一種思維,它的目標(biāo)是將不是現(xiàn)實(shí)世界中各種各樣的數(shù)據(jù)盛有到內(nèi)存中,在內(nèi)存中不能操作這些數(shù)據(jù),并盡可能會(huì)優(yōu)化軟件這些存儲方案和操作方法。
編程語言是將數(shù)據(jù)結(jié)構(gòu)這種思維利用出的一種工具。
而學(xué)數(shù)據(jù)結(jié)構(gòu)最最重要的是邊學(xué),只學(xué)書上的思維方法你不編程語言寫出來的話,效率將更加惡劣,就形同去學(xué)習(xí)數(shù)據(jù)只看例題不多做題,不過一般說來收獲頗少。既然要邊自學(xué)邊實(shí)踐經(jīng)驗(yàn),那么在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)之前,手中掌握一些基礎(chǔ)的編程知識是必要的。
這里把個(gè)人的一些經(jīng)驗(yàn)分享給題主。
零、迅速學(xué)習(xí)基礎(chǔ)C語言
前面地道,在學(xué)數(shù)據(jù)結(jié)構(gòu)之前,應(yīng)該是能夠掌握一定的編程知識,不過用不著精通某個(gè)語言,知道基本語法再試一下。題主可以不去大學(xué)MOOC,或者網(wǎng)易云課堂上,找一個(gè)自己喜歡的課程,跟著視頻把基礎(chǔ)的語言過一遍,這里推薦推薦浙江大學(xué)翁凱老師的C語言課程。鏈接:#/info
一、記好算法思想(是什么)
這一部分的目標(biāo)是,你能給人說明白,什么是”內(nèi)存映射“,什么是”平衡二叉樹“等。題主應(yīng)在形成幾百年記憶,存儲到你的”硬盤“里,而不單在學(xué)的時(shí)候過了一遍你的”內(nèi)存“。
第一步,記住數(shù)據(jù)結(jié)構(gòu)最很直觀的東西。這種比較直觀的記憶會(huì)在不知不覺的中就能完成,但為了要好的記住了,還需去刻意記憶和偶爾才會(huì)的復(fù)習(xí)。
第二步,記憶該數(shù)據(jù)結(jié)構(gòu)的定義與性質(zhì)與特點(diǎn)等?;蛘?,學(xué)哈夫曼樹的時(shí)候。哈夫曼樹的定義:WPL(帶權(quán)路徑長度)最小的二叉樹;哈夫曼樹的特點(diǎn):(1)沒有度為1的結(jié)點(diǎn)(2)n個(gè)葉子結(jié)點(diǎn)的哈夫曼樹總共2n-1個(gè)結(jié)點(diǎn)(3)哈夫曼樹的任意非葉節(jié)點(diǎn)的左右子樹相互交換后仍是哈夫曼樹。關(guān)與”數(shù)據(jù)結(jié)構(gòu)“,需要記憶的內(nèi)容也需要自己在其中慢慢領(lǐng)悟出。
二、進(jìn)行大量咨詢編程去練習(xí),用編程語言去利用某一數(shù)據(jù)結(jié)構(gòu)上的算法(該怎么辦)
需要這么說,再理解一個(gè)算法很容易,會(huì)容易在紙上去模擬一個(gè)算法的基于過程。但,具體看實(shí)現(xiàn),則是另一回事。一定會(huì)得先自己認(rèn)真思索,然后再再去看點(diǎn)書中給的編程語言基于。在我的確,這一過程早屬于法律“數(shù)據(jù)結(jié)構(gòu)與算法”的內(nèi)容了。而是你綜合素質(zhì)的體現(xiàn),該如何完全解釋問題和用編程技巧實(shí)現(xiàn)方法,很考驗(yàn)自己。
三、”記住“特定情景下,利用某一某一特定的數(shù)據(jù)結(jié)構(gòu),去解決問題的方法(為什么怎么辦)
每介紹一種數(shù)據(jù)結(jié)構(gòu),浙大數(shù)據(jù)結(jié)構(gòu)與算法的MOOC課程都會(huì)有一個(gè)實(shí)際中問題來充當(dāng)“引子”,解釋了“這種數(shù)據(jù)結(jié)構(gòu)我想知道為什么會(huì)又出現(xiàn)”。有的是是為實(shí)現(xiàn)特定的事件的操作,有的是目的是時(shí)間和空間上(大部分確定的是時(shí)間復(fù)雜性)效率的更高。這些東西,我們也須理解記憶。
到了最后,如果能題主能自己依據(jù)什么自己的理解,因?yàn)槟硞€(gè)問題,能熟練的提出下圖這樣的解決方案,我懷疑即便是入門學(xué)習(xí)了。
C語言的學(xué)習(xí)?
計(jì)算機(jī)二級C語言要考寫什么內(nèi)容呢?
要是學(xué)C語言的話,哪些教材都很好?
學(xué)C語言需要在電腦里可以下載什么軟件呢?
(求各位大神指教~)
計(jì)算機(jī)二級C語言也是上機(jī)計(jì)算機(jī)考試,考的內(nèi)容不勝感激
單項(xiàng)選擇題40分(含公共基礎(chǔ)知識部分10分),操作題60分(包括填空題18分、短文改錯(cuò)18分及編程題24分)。針對二級考試內(nèi)容,這個(gè)可以你選一本入門學(xué)習(xí)的c語言程序設(shè)計(jì)教程,如果不是是你的的專業(yè)課,老師的本就可以了,最好不要買太書,這本看一下那本看一下,到頭來都學(xué)不精。入門課本都講得很詳細(xì)的,變量、語法什么的一點(diǎn)點(diǎn)搞懂。多寫程序,應(yīng)該不會(huì)寫可以抄一抄別人的,想想別人是怎樣才能寫的。
寫程序可以在電腦裝個(gè)VisualC6.0集成開發(fā)環(huán)境。初學(xué)者好是我推薦用這個(gè)寫程序。VC6.0調(diào)試程序非常方便,可以看變量內(nèi)存、變量值等等。多說無用,看圖。