1. 程式人生 > >數據結構第一課筆記--------------狄泰軟件學院

數據結構第一課筆記--------------狄泰軟件學院

設立 存儲 國外 電子商務 面向 研究 綜合 學習 專業

理解程序的本質:
1.為什麽有各種各樣的程序?
2.程序的本質是什麽?
程序是是為了解決問題而存在的,各種各樣的問題產生了各種各樣的程序軟件。因此,程序的本質就是解決問題的步驟描述。
就比如要解決把大象放進冰箱需要三個步驟,把冰箱門打開、把大象放進去、關上冰箱門。用程序可以分為以下步驟

1. fridge*  e = new fridge();              //定義冰箱這個對象
2. elephant*  h = new elephant();    //定義大象這個對象
3. e->open();                                   //打開冰箱
4. e->put(h);                                    //把大象放進去
5. e->close();                                  //關閉冰箱

上面這個例子充分說明了程序是解決問題的步驟描述。

程序設計最重要的就是理解實際問題
(1)確定問題類型
如:數值計算類、文字處理類、排序類等
(2)確認求解步驟
如:輸入數據、統計數據、保存數據
我們如何判斷程序設計的好壞
(1)用盡量少的時間解決問題
(2)用盡量少的步驟解決問題
(3)用盡量少的內存解決問題
高質量的代碼是一個人水平的體現,優秀的開發者追求高質量的代碼

數據結構的起源
“數據結構”作為一門獨立的課程在國外是從1968年才開始設立的。 1968年美國唐納德·克努特(Donald Ervin Knuth)教授開創了數據結構的最初體系,他所著的《計算機程序設計藝術》第一卷《基本算法》是第一本較系統地闡述數據的邏輯結構和存儲結構及其操作的著作。“數據結構”在計算機科學中是一門綜合性的專業基礎課,數據結構是介於數學、計算機硬件和計算機軟件三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序的重要基礎。

作用:
數據是計算機化的信息,它是計算機可以直接處理的最基本和最重要的對象。無論是進行科學計算或數據處理、過程控制以及對文件的存儲和檢索及數據庫技術應用等,都是對數據進行加工處理的過程。因此,要設計出一個結構好效率高的程序,必須研究數據的特性及數據間的相互關系及其對應的存儲表示,並利用這些特性和關系設計出相應的算法和程序。

意義:
數據結構是計算機科學與技術專業、計算機信息管理與應用專業,電子商務等專業的基礎課,是十分重要的核心課程。所有的計算機系統軟件和應用軟件都要用到各種類型的數據結構。因此,要想更好地運用計算機來解決實際問題,僅掌握幾種計算機程序設計語言是難以應付當前眾多復雜的課題。要想有效地使用計算機、充分發揮計算機的性能,還必須學習和掌握好數據結構的有關知識。打好“數據結構”這門課程的紮實基礎,對於學習計算機專業的其他課程,如操作系統、數據庫管理系統、軟件工程、編譯原理、人工智能、圖視學等都是十分有益的。

研究範圍:
(1)非數值計算的程序問題
(2)數據間的組織和操作方式
(3)數據的邏輯結構和存儲結構

關於程序的經典公式:程序 = 數據結構 + 算法
本公式對於數據結構和面向過程程序設計適用,雖然現在面向對象程序設計占大頭。但這個公式仍是一個值得借鑒的經典。
現在有很多人都在說“語言不重要,重要的是思想”,但是細想之下感覺這個不適用,因為如果沒有語言基礎只有思想的話,何談把程序寫出來,雖然知道怎樣來實現但不會語言表達出來也是一個很重要的問題,所以,我覺得語言和思想缺一不可,只會語言是不會寫出高質量的文章的,同樣的,只有思想而不會語言也不會可能代碼也不會出現。語言對於我們開發者來說是一個很重要的基礎。

數據結構第一課筆記--------------狄泰軟件學院