卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c語(yǔ)言沒(méi)有學(xué)好,如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?

網(wǎng)友解答: 題主應(yīng)該先厘清兩個(gè)概念:編程語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是一種思維,它的目標(biāo)是將現(xiàn)實(shí)世界中各種各樣的數(shù)據(jù)放入到內(nèi)存中,在內(nèi)存中操作這些數(shù)據(jù),并盡可能優(yōu)化這些存儲(chǔ)方案和操作方

網(wǎng)友解答:

題主應(yīng)該先厘清兩個(gè)概念:編程語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)。

數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是一種思維,它的目標(biāo)是將現(xiàn)實(shí)世界中各種各樣的數(shù)據(jù)放入到內(nèi)存中,在內(nèi)存中操作這些數(shù)據(jù),并盡可能優(yōu)化這些存儲(chǔ)方案和操作方法。

編程語(yǔ)言是將數(shù)據(jù)結(jié)構(gòu)這種思維實(shí)現(xiàn)出來(lái)的一種工具。

而學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)最重要的就是邊學(xué)邊做,只學(xué)習(xí)書(shū)上的思維方法不用編程語(yǔ)言寫(xiě)出來(lái)的話(huà),效率將非常低下,就好比學(xué)習(xí)數(shù)據(jù)只看例題不做題,其實(shí)往往收獲甚微。既然要邊學(xué)習(xí)邊實(shí)踐,那么在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)之前,掌握一些基礎(chǔ)的編程知識(shí)是很有必要的。


這里把個(gè)人的一些經(jīng)驗(yàn)分享給題主。

零、快速學(xué)習(xí)基礎(chǔ)C語(yǔ)言

前面說(shuō)道,在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)之前,應(yīng)該掌握一定的編程知識(shí),但是不必精通某個(gè)語(yǔ)言,知道基本語(yǔ)法即可。題主可以去中國(guó)大學(xué)MOOC,或者網(wǎng)易云課堂上,找一個(gè)自己喜歡的課程,跟著視頻把基礎(chǔ)的語(yǔ)言過(guò)一遍,這里推薦浙江大學(xué)翁凱老師的C語(yǔ)言課程。鏈接:https://mooc.study.163.com/course/1000002011?tid=2001530003#/info

一、記住算法思想(是什么)

這一部分的目標(biāo)是,你能給人說(shuō)明白,什么是”堆棧“,什么是”平衡二叉樹(shù)“等。題主應(yīng)當(dāng)形成長(zhǎng)久記憶,存儲(chǔ)到你的”硬盤(pán)“里,而不僅僅在學(xué)習(xí)的時(shí)候過(guò)了一遍你的”內(nèi)存“。

第一步,記住數(shù)據(jù)結(jié)構(gòu)最直觀的東西。這種直觀的記憶會(huì)在不知不覺(jué)中就完成,但為了更好的記住,還需去刻意記憶和偶爾的復(fù)習(xí)。

第二步,記憶該數(shù)據(jù)結(jié)構(gòu)的定義與性質(zhì)與特點(diǎn)等。例如,學(xué)習(xí)哈夫曼樹(shù)的時(shí)候。哈夫曼樹(shù)的定義:WPL(帶權(quán)路徑長(zhǎng)度)最小的二叉樹(shù);哈夫曼樹(shù)的特點(diǎn):(1)沒(méi)有度為1的結(jié)點(diǎn)(2)n個(gè)葉子結(jié)點(diǎn)的哈夫曼樹(shù)共有2n-1個(gè)結(jié)點(diǎn)(3)哈夫曼樹(shù)的任意非葉節(jié)點(diǎn)的左右子樹(shù)交換后仍是哈夫曼樹(shù)。關(guān)于”數(shù)據(jù)結(jié)構(gòu)“,需要記憶的內(nèi)容也需要自己在其中慢慢領(lǐng)悟。

二、進(jìn)行大量相關(guān)編程練習(xí),用編程語(yǔ)言去實(shí)現(xiàn)某一數(shù)據(jù)結(jié)構(gòu)上的算法(怎么辦)

必須承認(rèn),理解一個(gè)算法很容易,很容易在紙上去模擬一個(gè)算法的實(shí)現(xiàn)過(guò)程。但,具體實(shí)現(xiàn),則是另一回事。一定得先自己思考,然后再去看書(shū)中給的編程語(yǔ)言實(shí)現(xiàn)。在我看來(lái),這一過(guò)程已經(jīng)不屬于“數(shù)據(jù)結(jié)構(gòu)與算法”的內(nèi)容了。而是你綜合素質(zhì)的體現(xiàn),如何真正理解問(wèn)題和用編程技巧實(shí)現(xiàn),很考驗(yàn)自己。

三、”記住“特定情景下,利用某一特定的數(shù)據(jù)結(jié)構(gòu),去解決問(wèn)題 (為什么+怎么辦)

每介紹一種數(shù)據(jù)結(jié)構(gòu),浙大數(shù)據(jù)結(jié)構(gòu)與算法的MOOC課程都會(huì)有一個(gè)實(shí)際問(wèn)題來(lái)作為“引子”,回答了“這種數(shù)據(jù)結(jié)構(gòu)為什么會(huì)出現(xiàn)”。有的是為了實(shí)現(xiàn)特定的操作,有的是為了時(shí)間和空間上(大部分考慮的是時(shí)間復(fù)雜性)效率的更高。這些東西,我們也須理解記憶。

最終,希望題主能自己根據(jù)自己的理解,針對(duì)某個(gè)問(wèn)題,熟練的給出下圖這樣的解決方案,我認(rèn)為就算是入門(mén)了。

網(wǎng)友解答:

學(xué)數(shù)據(jù)結(jié)構(gòu)需要懂一門(mén)語(yǔ)言實(shí)踐,不一定非的是c語(yǔ)言,另外c語(yǔ)言?xún)?nèi)容不多,你不需要把c++也學(xué)了,再看下就行了

標(biāo)簽: