導航:首頁 > 源碼編譯 > 數據結構與演算法讀書心得

數據結構與演算法讀書心得

發布時間:2022-05-23 00:38:39

A. 討論學習C語言演算法的心得

關鍵是:存在 對比 客觀 簡化 實踐

存在:演算法中存在什麼,目的是什麼,怎麼實現的,必要的話可以了解一下何人發明的,因為經典演算法的設計者本身都是著作等身的,由此你可以通過「存在」了解一個事實:演算法不是孤立的,是新和舊之間的更替。

對比:對比類似和不同演算法,同在哪裡,不同在哪裡,以及這些差異導致了什麼結果,過程有什麼差異,這個過程為什麼會導致那個結果。

客觀:不憑空臆測,演算法本身有什麼思想以及借用了什麼數學思想實現不能扭曲,以及何種狀態適合這樣的演算法。

簡化:當你深刻了解演算法的本質(通過推導、證明和實際運用和改進),就不可避免的要把不同演算法有機的結合在一起,不是線性的也不是單純的組合,而是從內涵和外延的角度站在不同的立場把演算法劃分成不同的層次,每個層次什麼時候運用。
簡化操作往往要運用一些更加直觀的快速的方法:聯想。
關於聯想,通常,你需要在思考線性表的時候想到一串隔開的紙帶,當細化到鏈表還是順序表時,需要加以限制為是否可隨機存取還是順序存取。
演算法本身都可以通過數據結構表現得很清晰,這時候運用演算法的時候,就可以脫離實際的ADT載體。
分類討論以及回溯通常要結合樹去分析,就一目瞭然。
字元串處理以及跟優先順序和記憶索引等問題通常要結合棧結構去設計演算法。
路徑問題結合圖結構設計演算法。

當然,要加深對C語言演算法的設計能力,需要從最根源出發:實踐。

有專門的機構提供了實踐平台,檢驗你設計的演算法是否高效。

可以去搜索ACM POJ ZOJ 等關鍵字,找到相關的演算法在線競賽網站,從最基本的題開始訓練。

另外,好的書籍是成功的一半:

《演算法導論》 (雖然名為導論,但是演算法著作中最權威也最有深度的一本書)
《數據結構(C語言)》(嚴蔚敏的著作,一般重點高校使用,雖然比較抽象,但比較簡化)
《演算法與數據結構(C語言)》(電子科技出版社,對演算法的實際實現講的比較透徹)

Finally,you need 'coding' and programming again and again.

B. 數據結構與演算法的學習心得

數據結構與演算法是相輔相成的,每一種數據結構都有它對應的幾種常用演算法,數據結構與演算法必須同時學。
按照書上的順序學習,通常是鏈表→隊列→堆棧→樹→圖的順序,難度循序漸進。一定要自己上機實驗

C. 一篇學習心得

一篇好的學習心得,必須要結合自己的實際情況,深入的分析這門學科帶給你的感受, 如果一味的寫理論知識,是得不到高分的,我從網上搜索了一個大二學生學習計算機的心得,你可以參考一下,可以結合你自己的實際情況加以修改。

大一大二兩年軟體開發學習心得 出處:博客園

轉眼間在從大一踏進學校的校門到現在剛剛好兩年了,在這兩年裡面,有學到了不少東西,包括怎麼去獨立生活,怎麼去與人溝通,等等,當然最重要的還是學到了自己想要的專業知識。
大一的時候主要是學習計算機導論和C語言,對於急於想看到效果的我,C語言學起來就比較枯燥,因為C語言編寫出來的程序主要還是在命令行的操作,我很想開發出windows界面的軟體出來,但是沒有辦法,C語言是基礎,沒有這個基礎就往高處想,恐怕夢想不會那麼容易實現。所以我就認真的把C語言的基礎打好,先掌握好裡面的語法,程序控制邏輯和一些基本的演算法,說真的,盡管是比較枯燥,但是一旦陷入了編程中,自然就會發現其中的快樂。

大一第二學期的時候開始接觸NIIT的課程,平時雖然一點作業都沒有,但是我上課的時候不是那麼認真聽課的人,所以課後總是要花時間來看看和理解老師上課的例子,在這個學期中,我們主要學習了C++和java,都是剛剛開始接觸到面向對象的語言中來,由於對一些面向對象的特性不熟悉,畢竟是剛開始接觸這方面的語言,所以學起來就有點吃力,再加上平時實踐的時間比較少。

終於到了學期的期末,學期期末的項目是使用Java語言開發一個網路的聊天室,在我還沒有開發之前一聽到這個項目,我做夢都沒有想到我可以編寫出一個聊天室出來,但是既然是課程提出來的項目,就一定有它的理由,我也相信最後一定也可以完成它。功夫不負有心人,經過接近一個月的研究,我總於完成了我來到學校的第一件作品。在這個月中,我不斷得查閱資料,詢問老師,平時和同學多交流,終於在最後的評審中,我獲得了全班第二的好成績。通過這個學期的開發中,我幾乎把整個學期學到的知識都用到了我的聊天室裡面,所以在實踐中也等於復習了這個學期所學的內容,而且我發現這樣的實踐,比我在平時課後看書,看資料所學到的還多。

大二的第一學期,進入了資料庫和高級Java的學習,說真的,在學資料庫的那段時期是最煩的,因為每天就學了一大堆SQL的語言,非常的枯燥,都是關於怎麼去查找數據表格裡面的內容,那是時期,因為課堂上聽課了之後覺得都是比較簡單的,所以課後很少去動手。到了後來項目開發中,我才發現資料庫的重要性,整個系統的信息都是存儲在資料庫裡面的,所有的在程序中對數據的操作都是等同於對數據的增刪改查詢操作。

在期末的項目中,根據項目所要求的內容,我不斷翻看以前沒有掌握好的資料庫知識,感覺如果我前面有認真學習的話,到了後面開發項目的時候就不會那麼吃力了。對此,我總結出,如果在前面學資料庫的時候不要單純學習SQL的語言,把資料庫和程序結合起來,如果老師的講課的過程中可以說清楚資料庫怎麼綁定到程序中去使用的話,那麼我想對於我來說我會更加有興趣去學好資料庫,因為只要在程序開發中才可以去體驗資料庫的魅力和重大的作用。

在學期末的J2EE開發電子商務網站中,我學到了很多關於怎麼製作動態網頁的一些必要元素的基本的原理,體會到軟體設計在網站開發中的重要性。

轉眼間來到了大二的第二個學期,可以說在這個學期中,是我最有感觸,學到最多知識,達到質的飛躍的一個重要學期。有了前面幾個學期的學習基礎,我對面向對象語言已經基本掌握清楚,運用起來也覺得沒有什麼特別困難,基本已經入門了,這個學期主要是進入了.net的學習。

好的開發工具是保證效率的一個重要因素,Microsoft Visual Studio .NET 2003就是這樣的一個開發工具,令我剛剛一接觸就深深得愛上了它,它的易學易用令我對編程的興趣倍增,以前學習Java之所以見效不大是因為沒有好的開發工具和環境,總是在環境配置中浪費大量的時間,而真正的涉及到編程很少,所以這也是我以前為什麼學起來沒有那麼有興趣的原因。

我覺得學編程就應該學習它的思想,編寫代碼就應該盡量避免寫出與邏輯無關的代碼,比如界面代碼可以讓機器去自動生成不必浪費時間手動去編寫,所以好的開發工具可以幫助我們做到這一點,只編程邏輯代碼,很多代碼都可以讓機器去自動生成。在.net就可以快速地開發既有漂亮界面也有強大功能的程序。有了這么好的開發工具,所以令我頓時感悟,有種相見恨晚的感覺。

有了好的開發工具後接下來要做什麼呢,當我們為之興奮的時候,當然是很有慾望去做出某某自己很想做的東西,因為你一拿到好的開發工具,就會整天的陷入開發狀態,對其愛不釋手,一開始我是試著開發一個Flash播放器,感覺編寫起來不是編寫起來不是那麼難,因為前面已經有學習Java的經驗了,初次學習.net的時候選擇編寫Flash播放器也是有理由的,一方面是程序比較簡單,另一方面的涉及到的控制項和界面比較多,所以一開始接觸這樣的語言就首先學習怎麼去調用.net平台上提供的控制項,只要掌握好這些控制項,以後編寫windows界面的控制項就簡單很多了。

經過幾天的時間,終於把Flash播放器做出來了,以後想Flash影集的時候都用自己開發的播放器進行播放,感覺別有一翻滋味,因為這就是為自己量身定做的,這就使我再一次感覺到開發的樂趣。

每年的11月份都有一個高校杯的軟體設計大賽,這時間正到了5月,我們屈指一算,離比賽的時間還有6個月的時間,這段時間我正處在開發的興奮期,所以對這個軟體設計比賽就感興趣起來,第一是可以知道自己的編程程度和其他人的距離,第二是可以利用這個一個項目實踐來鍛煉自己的開發技能,第三是可以鍛煉團隊的合作。以前幾乎都是自己開發的軟體,很少和其他人合作,所以就令我想到這種開發模式將來帶到工作會另自己處於不利的地位,現在不是都講究團隊的合作么。

經過思考後,我找來另外的兩個志同道合的同學,利用五一放假的時間想好主題,還有進行需求分析,最後定下來「多媒體日記本」這一項目。定好題目後我們就進行了分工,一個人負責資料庫方面,一個人負責界面的美化和界面的布局,另外一個負責功能的實現,分好工後我們立刻就展開了工作,在合作的過程中,我們學到了許多課本上沒講的或者只是粗略帶過的知識,有些特別的技術難點還要到網上去搜索,查閱有關的資料,在語言方面我們幾乎把.net裡面的基本框架和特性都用上了,這樣對於我們學習就達到了事半功倍的效果,邊學邊做學到的知識可以很快吸收,又可以很快得運用的實際中去,這是我通過這個項目感觸最深的。很快就到了期末,學校舉行「IT精英杯」軟體大賽,我們小組終於不負眾望,拿到了一等獎的好成績。

經過這次我比賽我總結出心得,首先比賽的題目要定好,一方面是開發的軟體要有實用性和市場前景,另一方面還要在實用性上加上點創新,給人耳目一新的感覺,我覺得只要先抓住好這兩點,做出來的軟體才會給人留下好的印象。

利用暑假的時間,我又參加系裡面組織的軟體工程培訓,又一次在開發項目中學到了許多許多看書只能朦朧懂的知識。

轉眼間大三第一個學期就開學了,回顧這兩年來學習軟體開發的經歷,寫了這樣的一遍心得,一方面算是對自己的總結,另一方面也可以拿出來給大家參考和交流。最後我還是要再歸納一次,總結出如何才可以比較容易地進入學習狀態達到快速開發的目的。

1. 打好基礎,掌握好C語言C++基礎的語言,對學習數據結構和演算法有很大的幫助。

2. 面向對象是高級也是最流行的語言,所有的面向對象語言幾乎都是通用的,結構和特性都差不多,只要掌握和歸納好它們的一些共同的特性,哪怕將來轉向其他的語言都是輕而易舉,得心應手,達到融會貫通的效果。

3. 好的開發工具是你提高開發效率,提高編程興趣的前提,學習語言的過程中還應該研究怎麼利用開發工具有效地提高開發的效率。

4. 善於總結,在開發過程中我們可以總結出許許多多規律性的東西,這些規律一方面可以讓我們避免在以後的開發中犯同樣的錯誤,另一方面對我們掌握其他的規律都是有所幫助的,規律都是交叉在一起的。跟著規律走,實事求是。

5. 項目開發是最好的學習方法,這一點是我最有感觸的,軟體開發是實踐性很強的活動,但靠理論知識學起來比較吃力,而且枯燥無味,學習種理論學習和開發實踐的比例應該是1:2,而且是交叉進行。這樣才可以比較快的掌握一個知識點。

6. 團隊合作,現在的項目幾乎很少一個人去完成,頻繁的溝通和密切的配合是成功的必要條件。
以上回答你滿意么?

D. 求一數據結構課程設計心得體會。

資料庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與鬥志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡並期望與大家共勉。

首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學asp.net),我接觸到Microsoft 公司的.NET產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++裡面的class,int,覺得vb的sub,var 看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱「.net是用於創建下一代應用程序的理想而又現實的開發工具」,而且主推c#語言,由於對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本資料庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是資料庫站出來的時候啦,於是我又裝上了sql server2000,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什麼也不是很清楚。

通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎麼用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。

來到學校後,隨著這學期的資料庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什麼就學什麼。我們有時候很容易被一些專業名詞說嚇著,包括什麼建模,軟體工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什麼國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just do it!我記得我做這個資料庫之前,我們老師說要做好前期分析,我就在網上搜索用什麼分析工具好。最後我選擇了roseUML建模工具。在此之前,我腦袋裡面沒有軟體建模的思想,什麼UML建模對我而言就是一張空白的紙。但是真正接觸後並沒有想像的那麼難,有什麼不懂的上網去搜索,這是一個信息橫流的世界,有google,就沒有不能解決的知識難題。以及後來的資料庫分析的時候用到的powerdesigner也是一樣。

開發的時候我想過用什麼架構,c/s模式?模式有很多,怎麼選擇?我就上網搜索現在最流行的架構是什麼。結果搜到了MVC架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。Just do it!前期工作準備好後,那麼我就得把我暑假學的.net加以實踐。這個時候我更加深入的了解了利用ado.Net操縱資料庫的知識。並且對資料庫裡面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的資料庫課程設計--基於.net數據集的圖書館管理系統。並最後非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。

與其臨淵羨魚,不如退而結網。這次資料庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個資料庫開始無論遇到什麼困難,我都沒有一絲的放棄的念頭。出於對知識的渴望,出於對新技術的好奇,出於對一切未知的求知。我完成了這次資料庫課程設計,不過這只是我學習路上的驛站,未來十年.NET的核心技術就是XML[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言並不重要畢竟它僅僅是工具,用好一個工具並不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!

我很慶幸我參加了這次資料庫大賽,讓我確實打開了眼界。

E. 求數據結構和演算法大神分享一下學習它們的一些方法或經驗。不甚感激!

一樓這打醬油的我也是醉了。。

數據結構和演算法是很抽象的。。和編譯原理,操作系統,並稱本專業最難課程了。。

你首先弄懂原理,再看基於某種語言的數據結構實現(C,CPP,java等)。其次看懂演算法的原理,KMP啊,排序,查找等到。。再看語言的實現。。

總的來說就兩部:看懂原理,再看實現。這個急不來的,數據結構和演算法一定要放多點時間。到一定地步了(所有數據結構和經典演算法都弄懂了),建議你買寫「教你如何設計演算法的書籍」看看。開始進軍演算法的設計。。

我的理解數據結構和類型基本上一樣。都是寫給人看的。因為在計算機存儲的只是兩種模式:順序和鏈式。現實世界有某某問題需要用到計算機解決,而該問題又依附在某某數據結構上(例如村莊布線需要用到最小生成樹,尋找點用到最短路徑等等。。)而演算法是某類型對於處理問題的一個封裝,例如:類也可以說是一個數據結構了。。

F. 學習數據結構的心得體會

這是一門純屬於設計的科目,它需用把理論變為上機調試。在學習科目的第一節課起,李老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它編程語言的一門基本學科。
剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對於我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之後,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪裡出現了錯誤,但是程序還是得繼續下去,我多次請教了老師和同學,逐漸能自己找出錯誤,並加以改正。TC里檢查錯誤都是用英文來顯示出來的,經過了這次課程設計,現在已經可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設計能夠成功,是我和我的同學三個人共同努力作用的結果。在這一段努力學習的過程中,我們的編程設計有了明顯的提高。
其實現在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現在真正的明白了一些代碼的應用,每個程序都有一些共同點,通用的結構,相似的格式。只要努力去學習,就會靈活的去應用它。

G. 演算法學習心得體會

從基本的數據結構和排序查找開始
然後是貪心,動態規劃等
具體的會涉及到樹圖字元串等有不同的演算法
我覺得演算法這東西是太難了,搞不來。。。

H. 《演算法導論》有什麼好的學習心得

《演算法導論》自第一版出版以來,已經成為世界范圍內廣泛使用的大學教材和專業人員的標准參考手冊。本書全面論述了演算法的內容,從一定深度上涵蓋了演算法的諸多方面,同時其講授和分析方法又兼顧了各個層次讀者的接受能力。各章內容自成體系,可作為獨立單元學習。所有演算法都用英文和偽碼描述,使具備初步編程經驗的人也可讀懂。全書講解通俗易懂,且不失深度和數學上的嚴謹性。第二版增加了新的章節,如演算法作用、概率分析與隨機演算法、線性編程等,幾乎對第一版的各個部分都作了大量修訂。
本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。本書專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。本書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的NP完全性的證明等內容。全書提供了900多個練習題和思考題以及敘述較為詳細的實例研究。
本書內容豐富,對本科生的數據結構課程和研究生的演算法課程都是很實用的教材。本書在讀者的職業生涯中,也是一本案頭的數學參考書或工程實踐手冊。

閱讀全文

與數據結構與演算法讀書心得相關的資料

熱點內容
數據加密過程簡述 瀏覽:809
python基礎教程pdf下載 瀏覽:123
如何統計伺服器 瀏覽:742
蘋果和安卓怎麼贈送模組 瀏覽:803
伺服器倒計時怎麼弄 瀏覽:30
excel文件夾更新 瀏覽:435
億點連接app哪裡好 瀏覽:788
java掃碼支付 瀏覽:875
單片機行車記錄儀 瀏覽:393
oppo雲伺服器什麼意思 瀏覽:82
51單片機可以編譯多少公里 瀏覽:27
用什麼工具製作安卓應用 瀏覽:488
單片機數碼管的代碼 瀏覽:779
第一款安卓手機是什麼牌子 瀏覽:396
java非同步web 瀏覽:274
51單片機讀tf卡 瀏覽:940
linux下獲取文件 瀏覽:320
加密文件電腦顯示無屏幕截取許可權 瀏覽:356
虛榮安卓用什麼充值 瀏覽:754
阿里雲沒有伺服器如何備案 瀏覽:708