最新第一章资料结构导论幻灯片.ppt

最新第一章资料结构导论幻灯片.ppt

ID:62171366

大小:2.09 MB

页数:117页

时间:2021-04-20

最新第一章资料结构导论幻灯片.ppt_第1页
最新第一章资料结构导论幻灯片.ppt_第2页
最新第一章资料结构导论幻灯片.ppt_第3页
最新第一章资料结构导论幻灯片.ppt_第4页
最新第一章资料结构导论幻灯片.ppt_第5页
资源描述:

《最新第一章资料结构导论幻灯片.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章资料结构导论資料結構簡介資料與資訊演算法演算法的條件2資料與資訊所謂資料(Data),指的就是一種未經處理的原始文字(Word)、數字(Number)、符號(Symbol)或圖形(Graph)等,它所表達出來的只是一種沒有評估價值的基本元素或項目。當資料經過處理(Process),例如以特定的方式有系統的整理、歸納甚至進行分析後,就成為「資訊」(Information)。3常用的演算法一般文字敘述:中文、英文、數字等。文字敘述法的特色在使用文字或語言敘述來說明演算步驟。例如以下就是一個學生小華早上上學並買早餐的簡單文字演算法:7虛擬語言(Pseudo-Languag

2、e):接近高階程式語言的寫法,也是一種不能直接放進電腦中執行的語言。一般都需要一種特定的前置處理器(preprocessor),或者用手寫轉換成真正的電腦語言,經常使用的有SPARKS、PASCAL-LIKE等語言。以下是用SPARKS寫成的鏈結串列反轉的演算法:ProcedureInvert(x)Px;QNil;WHILEP≠NILdorq;qp;pLINK(p);LINK(q)r;ENDxq;END8表格或圖形:如陣列、樹狀圖、矩陣圖等。9流程圖:流程圖(FlowDiagram)算是一種通用的表示法,也有的圖型符號。例如請您輸入一個數值,並判別是奇數或偶

3、數。10程序語言:目前演算法也能夠直接以可讀性高的高階語言來表示,例如VisualBasic語言、C語言、C++語言、Java語言。11演算法和程序演算法和程序是有所區別,因為程式不一定要滿足有限性的要求,如作業系統或機器上的運作程式。除非當機,否則永遠在等待迴路(waitingloop),這也違反了演算法五大原則之一的「有限性」。只要是演算法都能夠利用程式流程圖表現,但因為程式流程圖可包含無窮迴路,所以無法利用演算法來表達。12認識程式設計資料結構與演算法必須透過程式(Program)的轉換,才能真正由電腦系統來執行。所謂程式,是由合乎程式語言語法規則的指令所組成,而程

4、式設計的目的就是透過程式的撰寫與執行來達到使用者的需求。13程式語言的好壞可讀性(Readability)高:閱讀與理解都相當容易。平均成本低:成本考量不侷限於編碼的成本,還包括了執行、編譯、維護、學習、除錯與日後更新等成本。可靠度高:所撰寫出來的程式碼穩定性高,不容易產生邊際錯誤(SideEffect)。可撰寫性高:對於針對需求所撰寫的程式相對容易。14程式設計步驟需求認識(requirements):了解程式所要解決的問題是什麼,有那些輸入及輸出等。設計規劃(designandplan):根據需求,選擇適合的資料結構,並以任何的表示方式寫一個演算法以解決問題。分析討論

5、(analysisanddiscussion):思考其他可能適合的演算法及資料結構,最後再選出最適當的標的。編寫程式(coding):把分析的結論,寫成初步的程式碼。測試檢驗(verification):最後必需確認程式的輸出是否符合需求,這個步驟得細步的執行程式並進行許多的相關測試。15結構化程式設計主要是以「由下而上法」與「由上而下法」為主。「由下而上法」是指程式設計師將整個程式需求最容易的部份先編寫,再逐步擴大來完成整個程式。「由上而下法」將整個程式需求從上而下、由大到小逐步分解成較小的單元,或稱為「模組」(module)。核心精神,就是「由上而下設計」與「模組化設

6、計」。例如在Pascal語言中,這些模組稱為「程序」(Procedure),C語言中稱為「函式」(Function)。16結構化程式設計控制流程流程結構名稱概念示意圖[循序結構]逐步的撰寫敘述。[選擇結構]依某些條件做邏輯判斷。[重複結構]依某些條件決定是否重複執行某些敘述。17物件導向程式設計至於「物件導向程式設計」(Object-OrientedProgramming,OOP)則是近年來相當流行的一種新興程式設計理念。它主要讓我們在設計程式時,能以一種更生活化、可讀性更高的設計觀念來進行,並且所開發出來的程式也較容易擴充、修改及維護。常見的物件導向語言包括C++、Ja

7、va等語言。18抽象化動作說明表名稱特 色 與 說 明屬性屬性(attribute)是指物件的靜態外觀描述,例如一輛車子的顏色、大小等。就如同於JAVA程式中的類別成員資料(memberdata)。方法方法(method)是指物件中的動態回應方式,例如車子可以開動、停止。就是一種行為模式,是用來代表一個物件的功能,也就是JAVA中的類別成員方法(membermethod)。事件事件(event)是指物件可以針對外部事件做出各種反應,譬如車子沒油時,引擎就會停止,當然物件也可以主動地發出事件訊息。例如JAVA程式中的視窗元件就可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。