當前位置:首頁 » 網路資訊 » 怎樣才能很快學會數據結構呢

怎樣才能很快學會數據結構呢

發布時間: 2022-02-12 16:43:05

❶ 如何學好數據結構

課前預習,你的目的在於掌握知識,又不是拼課堂表現,踏實學就行了,多練手就ok了

❷ 怎麼樣才能把數據結構學好

數據結構本身有些難
需要經常思考,只要能夠理解裡面的演算法,很容易掌握。,

❸ 數據結構怎麼感覺那麼難,怎麼可以學好呢

1.數據結構,即數據在內存中的組織形式,一般都是比較小的。而象文件格式,其實也可以看成是一種數據結構,你以後看到一些文件格式,象.3ds. .jpg ,.x等等,就不難理解。
2.數據結構。常見的線性表,樹,隊列,堆等,這是數據結構教授的主要內容,主要是這種結構如何建立起來,如何組織和操作等。你把這些操作圖形化,死記住就行,並不難。
3.數據結構 不足的是,既然數據跟內存布局有關,老師應該補充說明下,如何設計出高效的數據結構(常用的數據結構,因為有c++等標准庫支持,只要了解就行了)以滿足軟體設計的特定要求,同時老師還要講解位元組對齊,是如何做的。而這些都是相當實用的知識。

4.數據結構,其實就是上面說的,記住特點就行了。還覺得難,是因為這門課老師們也搞不清要如何教。
原因只有一個,老師把數據結構和演算法設計放在一起教了。前者很簡單,後者卻是要花上幾年時間才會略有所成的東西。演算法設計一旦學好,看別人程序就很快了,這會節省很多時間。架構師在國內一般對演算法都有很好的理解力,如果演算法設計基礎差而又在公司擔任架構師,那麼這樣的架構師多半會被同事BS的。

建意:既然是說到數據結構,說明你才開始學習,去圖書館搞本象樣點演算法書,好好提升一下修為,演算法設計學好,相當於計算機掌握50%了。這東西除非大學4年,堅持學習,否則縱使你大學畢業,工作10幾年,仍然還會是半吊子。

❹ 怎樣快速自學數據結構

看視頻吧,先把電子科技大學——數據結構那個視頻看完,估計基礎就差不多了吧

❺ 數據結構怎麼速學會

這個東西是個功夫活,想精通需要花大功夫(比如編程經驗有1~2萬行),但是如果想應付也有辦法~把書上的數據結構的題通通照著敲一遍~然後背住~但是如果公司通過數據結構來問計算機底層~比如內存池之類的東西就沒辦法了~哥們,祝你好運

❻ 怎麼才能學好數據結構

一個很簡單的方法..學好數據結構..把那本書反復的看一百遍...我們班的一個人就是這樣做的..只要你有那個耐心...你一定會學懂..學懂...呵呵...

❼ 怎樣才可以在最短時間內學好數據結構

不想說太多 從看到我說的這句話開始做吧 從那一刻開始
編程......!!!!!!!!!!!!!

❽ 怎樣才能學好數據結構

一時間也寫不出太具體的方法 就在網上為你找了一個前輩發的帖子 你看一下,肯定比我寫的好。

-------------------------

學習數據結構這門課程至少要經歷三個過程,方可真正
的掌握這門課程,得到一個滿意的成績。這個過程簡單來說就是三個字:活→死→活。
首先,是一個學「活」的過程,就要要求我們對書中的每一個演算法,能夠在腦海中
建立起相應的模型,而不是死板的演算法。比如樹的遍歷非遞歸演算法,在入棧與出棧的過程
中,我們就要在腦海中形成訪問樹每個結點的過程,真正掌握住這個演算法。這樣,全書復
習下來,你的腦海中就有了整個數據結構的模型概念,對任何一個陌生的演算法,將不感到
生疏和害怕。
有些同學到了此處就覺得數據結構已經學好,可以萬事大吉了,其實這還遠遠不夠
,如果參加考試,往往會拿不到高分,甚至還會納悶,為何自己數據結構學的這樣好,成
績卻不盡如人意,因此產生了批卷老師判錯的想法。所以第二個過程,就是一個學「死」
的過程,這個過程要求,要記住書中的演算法(功利一點就是要背誦會所報考學校的考試要
求的演算法)。有的學校有別的特殊要求,也一並背會。如上海交通大學喜歡考平均復雜度
的分析這樣的題目,我們在書上可以找到這樣的分析一共十一個,全部背會,就免去了在
考場上分析的麻煩,如果連答案都能記住,那麼,也不會因為粗心失分了。這一過程也許
有些枯燥,但卻是最重要的過程,比如說背會了樹的後序遍歷非遞歸,遇到了像求某個結
點的所有祖先,兩個結點的共同祖先這樣的題,不用想,直接套用。這樣才是考試的高分
的關鍵:在考場上,遇到考題,不用思考,直接從腦海中找匹配的演算法,直接引用。
有了第二個過程的辛苦,我們就可以得到一個比較高的分數了,如果還想提高,就
要進行第三個過程,再學「活」的過程。這一個過程中就要要求我們,在第二步的基礎上
,多進行思考,看看有哪些演算法有共性,比如說:樹的前序非遞歸遍歷演算法和圖的深度優
先遍歷演算法是不是類似啊,有些什麼不同,有些什麼相同,為什麼會相同;森林轉化為二
叉樹和圖的生成樹的演算法也是這樣,等等。總結出這種共性,這樣就能正確有效的記憶算
法,同時,遇到難題不至於慌亂,能夠從容下手解題。
對於總結共性問題上,這里舉一小個例子,(呵呵,我當初總結出這個,並且和ka
oyan.com斑竹一具討論確定後三天,就在2002年交大第一題考出類似東東)比如樹的遍
歷,不管是遞歸還是非遞歸,也不管是線索樹,還是頭結點有父母信息的樹,它的遍歷其實就是一個尋找到遍歷的第
一個結點,然後再尋找它的後繼結點的過程,我們歸納到此處,就可以試著總結一下三種
遍歷的後繼結點是哪個,有幾種情況:
對於前序遍歷,它的後繼如下:
(1)若有左孩子,則後繼是左孩子;
(2)若無左孩子,有右孩子,則後繼是右孩子;
(3)若既無左孩子,又無右孩子,則是一片葉子;再討論:
(a)若是其父母的左孩子,且父母有右孩子,則後繼是父母的右孩子。
(b)若是其父母的左孩子,且父母無右孩子;
(c)若是其父母的右孩子。
b,c都表示這是某個節點的左子樹前序遍歷的最後一個節點,則需要找第一個有右子
樹的「左祖先」(定義「左祖先」,即找第一個使得當前節點在這個祖先的左子樹上),
然後後繼就是這個祖先的右孩子。
對於中序遍歷,它的後繼如下:
(1)如有右孩子,後繼是右孩子的最左下節點;
(2)若無右孩子,且是父母的左孩子,則後繼就是父母;
(3)若無右孩子,且是父母的右孩子,則一直上溯到第一個「左祖先」(定義如前)
則後繼就是這個祖先。若無這樣的祖先,說明已經遍歷完畢。
對於後序遍歷,它的後繼如下:
(1)若是父母的右孩子,則後繼是父母;
(2)若是父母的左孩子,且父母無右子樹,則後繼是父母;
(3)若是父母的左孩子,父母有右子樹,則後繼是父母右子樹的最先訪問到的節點(
指向父母的右子樹後,一直往左,若不行的話,往右一步,一直到葉子)
總結完了,想一想,我們還能得到哪些提示?經常有一類型題目,要求求某個結點
的直接前驅。其實求前序遍歷的前驅和求後序遍歷的後繼是一樣的,只不過把左換成右而
已,前序遍歷的求後繼和後序遍歷的求前驅、中序遍歷的求前驅和中序遍歷求後繼都有這
樣的對稱關系。因此,總結出共性的東西,許多題目就可以迎刃而解了。問一問讀到這里
的讀者,你現在能夠自己在腦子裡面,非常輕松地像上面那樣,把這個例子裡面的情況都
條理清楚地分析總結出來嗎?如果現在還不行,到考試之前,你必須掌握到這種程度,才
能得到一個自己很滿意的分數。
經過以上的三個過程復習,相信讀者對數據結構的掌握就可以到達比較高的水平了
,如果參加考試,獲得一個比較滿意的成績也很有希望了。當然,達到這一
步並不容易,大量的練習是真正掌握的必由之路。因此,我們建議大家能夠下功夫把本書
中的題目完整地做一遍。能夠真正把本書中的所有題都掌握,絕不僅僅意味著僅會了書中
這幾百道題目,而是意味著對數據結構這門課程的理解,以及對問題的分析能力都有很大
的提高,這樣在考場上即使遇到未曾見過的題目,也就可以從容應對了!

❾ 如何學好數據結構

其實我也是學數據結構的,說實在的,學這個東西,最重要不是難不難的問題,主要是看你怎麼做。如果你是自學數據結構的話,最好在參考著關於數據結構的語言編程。例如你要選修的是數據結構的c++版,你就要買本c++教程,首先把語言學好了,才能保證你能夠讀懂數據結構的偽代碼。當然學數據結構最主要的是演算法,每學一章之後都要有一個完整的總結,都要能夠利用書中所學的知識進行以下必要的編程(這個是必須的)否則相當與你沒有學。你比如學數據結構要學單鏈表,那你首先應該了解怎麼製作單鏈表,然後試著用編程的方法描述出來。當然了,學數據結構最主要的還是各個演算法本身,對代碼的要求不是特別的高,但是試 想如果你連代碼都不會學,學演算法只能是應付公事。所以一定要掌握代碼。大學考試應該不會考你太難的代碼,但是研究生入學考試肯定會考的。象我一個大學老師說她考研的時候就考了個堆排序的代碼描述。所以學數據結構最重要的是培養你寫代碼的能力。力爭把代碼寫好,前程會一片光明。

❿ 怎麼才能學好數據結構

要理解演算法的原理, 主要是會用演算法 ,最好的辦法將演算法用到你的代碼中去 , 那樣你對演算法才有根深的認識 ,祝你好運!