㈠ 怎麼才能學好數據結構
1、 數據結構學習一定要自己獨立完成代碼實現,雖然有時候你理
解內容了,但是實現上面還是會愈要很多困難的,解決這些困難會幫助你提高程序設計的能力的。
2、 數據結構是計算機專業最重要最基礎的一門課,對於有過編程
經驗的人,結合自己的編程體會,去領悟它的思想;對於初學者,撿一種自己最熟悉的語言去分析它,總之千萬不要陷在語言的細節上,要高屋建瓴的去領會數據結構的思想。而且隨著編程經歷的豐富對它的體會越深入,最初接觸是對一些思想可能只是生硬的記憶,隨著學習的深入逐漸領悟了很多。對於實在弄不懂的東東,就先記住!!!
3、 將各種數據結構演算法爛熟於胸,這是一個優秀程序員的必須具
備的基本素質,是後來進步的基石。書上的例子自己看看,然後不看書自己想想做成代碼,在以後使用的時候看看能不能用這些數據結構來解決問題。
4、 自己試著把書上的數據結構盡量寫成可復用的獨立模板(模
塊),以後用著方便,學得也深刻, 以後復習不用看書了,反復溫習即便自己的代碼就行了, 說實話,找工作面試的時候數據結構幾乎是必問的!
5、 我覺的學數據結構,應該從演算法入手,不能急,我現在還在搞
數據結構呀!不過現在覺的不那麼難了呀!因為主要是演算法,一點一點理清,會有柳暗花明的時候的。
6、 數據結構要反復看書,量變引起質變,可能一開始看不太懂,
單當看多了的時候,你會茅塞頓開!
7、 我覺得數據結構要的是思想,學的也是思想, 但你至少要熟練
一門語言,要麼怎能檢驗你的思想是否正確,強烈推薦《STL源碼剖析》!!!結合STL中的源碼去分析,STL是我看到的最全的以數據結構為宗旨的一種庫,還建議你去下一個STLPORT,之中的源碼比VC提供的好些,很全,基本上能夠用到的數據結構都涉及到了,並且在學這個庫的過程當中還可以學習一些設計模式,還可以學習VC中的范型運算思想,等等,開始行動吧!!! 8、 怎樣學習數據結構,最好方法是一起討論。
9、 1)如果你沒有學過C語言,或者C語言學的不好的時候把數據
結構當成一本數學書來學,它所講述的都是一些簡單的圖論。在你的大腦中的主線不能丟失:線性結構,樹結構和圖結構。當你不再考慮復雜的程序設計時,僅僅研究個個離散點之間的關系,似乎數據結構也就不會那麼難了。
2)學習好了抽象的離散點關系後,再鞏固一下你的C語言水平,書中描述的都是類C。因此你只要學習簡單的C定義、判斷、循環語句就基本能看的懂課本中所有程序了。
3)以上都完成後,從數據結構的線性表開始。線性表中順序表,似乎是為你學習C語言設計的,學好線性表的鏈表是你起步的關鍵。後面的樹結構,圖結構,排序,查找都少不了鏈式結構,往往這個也是最難的。
4)看程序的時候一定要自己在紙上畫畫,最好先學會畫程序的流程
圖,也許那樣你學程序也就會更快一些。
5)數據結構是程序設計的最基本也是最有用的地方,學完之後你會受益匪淺的。
10、 多找些難題搞搞,就知道數據結構的魅力了,因為好些題只有用
合適的數據才能做到做好。當你想用一種數據結構來解決某個問題卻不知道怎麼用時,這時學起來就很快。
11、 我根據我個人的學習經驗我覺得很多人的誤區是背演算法而不是
通過結構來想自己的演算法。演算法操作數據結構而數據結構的設計的好壞直接影響到演算法。
12、 學習的方法只有一種,那就是 管它是什麼,先學再說,至於怎
樣才能學好嘛,這因人而定,每個人的思考方式都不同,看待問題不可能總是一樣,適合別人的不一定就適合你,適合你的也不一定適合別人,不過一種通用的方法就是,信心 + 恆心 + 悟性 + 好的書籍
㈡ 如何學習數據結構
學好數據結構首先學好C語言指針,數據機構內在串聯全靠指針作用,指針主要難在本身是帶地址的變數,再加上指針的指針串聯導致很多人誤解,先要學會理解,要對計算機的內存結構有個大概了解,對一些常見的進制之間的轉化以及位元組對齊等有行程基本的認知。
理解概念,建立抽象模型,比如簡單的隊列,先進先出模式,在設計數據模型的時候,就需要有一個對頭和隊尾的概念,數據需要從隊尾插入隊頭出來,基本上三個屬性就出來了,一個對頭指針,一個隊尾指針,一個結構體數值,常見的方法有刪除清空隊列,有插入隊列操作,出隊操作,創建初始隊列操作等等,這樣子抽象數據模型,形成自己的思維理解,然後再進行代碼設計。
需要變通實踐,代碼調試變通,數據結構的組合無窮變著寫代碼。演算法的奧妙就是在於變換,放在數據結構也是這個樣子,掌握基本的數據機構演算法,在學好數據結構的前提下可以學習下一本經典的演算法書《演算法導論》這個是演算法的經典書籍。
學習數據機構不要想著有什麼技巧或者方法,把自己調整到最佳的學習狀態,方法自然就有了,不要給自己設置什麼限制,設置底線只會讓自己處在一個圍牆之內,學習新東西就是突破自我的一個過程,不要在開始學習的時候給自己過大的壓力。
㈢ 怎樣學好數據結構
數據結構作為大學計算機相關專業的學生來說是一門十分重要的課程,無論是以後演算法思想的滲透,還是工作中程序代碼的處理,都離不開數據結構的影子。但是因為數據結構知識較多,並且比較抽象,對於很多人來說學它就感到頭疼。其實大可不必,數據結構的學習自然有其對應的方法。
還有一點,要想學習好數據結構,好的課程是必不可少的,如果大學老師講的足夠好的話完全可以帶你領略數據結構的美麗風景,如果你想自學成才的話,推薦浙江大學陳越姥姥的課和清華大學鄧俊輝老師的課,都十分透徹易懂。
㈣ 如何學習數據結構
學習數據結構首先,你要有一定的c語言基礎。
其次,要了解數據結構到底是什麼東西?數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
最後,了解幾項基本的常用結構,如:線性表,棧,隊列,二叉樹,圖等等。
在編寫演算法和程序之前,了解演算法的邏輯關系是非常重要的,比如棧後進先出的特點等等。
在編寫程序時,最好一步一步來,比如在編寫線性表的基本操作時,可以先編寫線性表的建立、初始化,然後先實現,如果沒有錯誤再繼續編寫,以免編寫全部之後錯誤太多無法改正。
㈤ 如何學習數據結構與演算法
1、記住數據結構,記住演算法思想(是什麼)記住數據結構最直觀的東西;記憶該數據結構的定義、性質、特點等。很多東西的理解和創新都是以記憶為前提的。
2、進行大量相關編程練習,用編程語言去實現某一數據結構上的演算法(怎麼辦)
很多時候,理解一個演算法很容易,很容易在紙上去模擬一個演算法的實現過程。但具體實現,則是另一回事。一定得先自己思考,然後再去看書中給的編程語言實現。
3、“記住”特定情景下,利用某一特定的數據結構,去解決問題 (為什麼+怎麼辦)
每介紹一種數據結構,浙大數據結構與演算法的MOOC課程都會有一個實際問題來作為“引子”,回答了“這種數據結構為什麼會出現”。有的是為了實現特定的操作,有的是為了時間和空間上(大部分考慮的是時間復雜性)效率的更高(所以,沒事的時候,分析一下演算法的時間復雜性)。這些東西,我們也須理解記憶。每一數據結構都有其特性,去解決某一類問題,我們需要去記憶,去感悟。
4、形成一個屬於自己的知識體系
如何去“記住”(記好筆記,多多復習);在學習過程中,遇到挫折,產生挫敗感該如何處理(這個是必然會發生的,總有難以理解不會的地方);如何進行心態方面的調整(欲速則不達,不過也有”敏捷學習“的概念)。