資料結構是我在大學中上課聽講唯一一次從頭到尾都認真聽講的課程,個人感覺自己從中受益匪淺。在此非常感謝我的大學資料結構老師harderj,對我們要求十分的嚴格,包括資料結構考試和課程設計方面,後面才感覺老師對自己的幫助很多。我理解的演算法和資料結構,如果演算法是程式的靈魂,那資料結構一定是程式的軀體。演算法是資料結構的處理物件,資料結構是演算法的基礎。但凡牽涉到有關的高階程式,必然會有演算法,有演算法必然會有資料結構,這是密不可分的,最終決定乙個程式的nb程式,當然還是其演算法,演算法的根本卻是數學!不過文章先總結資料結構的內容,接下來的博文會涉及到部分演算法的內容(可能時間有限,只能總結部分常用的演算法)。
結論:數學才是計算機領域的王道!嘻嘻嘻……
這篇博文主要介紹資料結構的內容(附有知識模組的框架圖)、我的資料結構學習方法。資料結構大概知識的框架圖:
解釋一下:總結一句話就是:到底什麼是資料結構?
資料結構研究的就是資料、資料間的結構和資料間的操作。
書本上定義為:是一門研究程式設計問題中計算機的操作物件之間的關係和操作等等的學科。
pascal之父:尼古拉斯·沃斯niklaus wirth 提出的:「演算法+資料結構=程式」
『編』就完事!解釋一下:
編哪些程式或者內容呢?1.線性表的基本操作內容;
2.鍊錶的基本操作內容;
3.鏈佇列、順序佇列的基本操作以及應用:楊輝三角、os的作業排程系統、樹結構的分層輸出、圖結構的廣度優先搜尋程式等;
4.鏈棧、順序棧的基本操作以及應用:進製間的轉換、括號匹配、中綴/字尾表示式、函式的呼叫、遞迴的呼叫、迷宮;
5.串的基本操作,串的檢索演算法:經典的kmp演算法;
6.二叉樹的儲存,構建和應用,哈夫曼樹的儲存,構建和應用;
7.圖的儲存,遍歷,最小生成樹演算法,最短路徑演算法。
8.查詢的一些經典演算法(折半查詢、二叉排序樹查詢、b+、b-樹);
9.內排序的常用演算法:簡單排序(交換排序、直接插入排序、選擇排序),先進排序(希爾排序、快速排序、堆排序、二路歸併排序),線性排序(基數排序)。
emmmmm,寫在前面
怎麼說呢,雖說已經打了大半年的acm了,早就有寫部落格的想法了,一直沒實現,也就是今天上著演算法課,突然的就想把我的這段旅程記錄下來,我的部落格主要會寫我學到的演算法課上的知識啦,也會有打過的比賽中一些有意思的題啊,日常肝到凌晨的cf啊 等等,當然還有每學期末的知識點整理啊,還有每次的程式作業,劃重...
寫在前面的話
csdn開博前言 這是第一次在csdn寫博,所以將寫作的背景及原因交待一下,恐以後自己寫博的時候離題萬里,當看到這篇文章的時候明白要在這個地方留下些什麼東西。也或許有幸能被別人看到我寫的文字,也能明白我的意圖。寫這些文字的時候,我做為一名開發人員在一家軟體公司實習。能有機會從事和程式設計相關的工作心...
寫在前面的話
屈指算算,從接觸計算機到現在,已經過去了12個年頭,其中做全職程式設計師也有3個年頭了。這些年來我頻繁查閱網際網路上的資源,也免費使用許多優秀的開源 感謝網際網路提供的知識海洋,它讓我們獲取知識的方式變得如此便捷。我曾經註冊過許許多多的網路賬號,如今它們大多我已忘記。現在我想把我的一點想法記錄下來,...