《资料与资讯》PPT课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《资料与资讯》PPT课件

第一章 ? Introduction * 1.1 資料與資訊 ◎ 資料 ( data ) 的定義:〝用具體符號表示,而能夠被計算機處理的資訊 (information)〞 ◎資料強調符號本身,而資訊則強調資料所呈現出來,經過人們分析、理解並領會的事實 ◎ 我們將在資料結構這門課中探討計算機系統所儲存以及處理的資料,並且學習如何組織這些資料,以及處理這些資料的方法 1.2 演算法與資料結構 ◎ 演算法 (algorithm) 的定義:“在有限步驟內解決數學問題的程序”。在計算機科學的領域中,演算法泛指“適合被實作為計算機程式的解題方法” ◎ 演算法通常具有以下五個特性: 一?輸入 (Input) 二?明確性 (Definiteness) 三?正確性 (Correctness)或稱 有效性 (Effectiveness) 四?有限性 (Finiteness) 五?輸出 (Output) 例1.3 歐幾里得演算法 計算兩個自然數的最大公因數 (Greatest Common Divisor, GCD) 演算法描述如下: 步驟 1. 輸入兩個自然數 A , B 步驟 2. A 除以B,餘數為 R 步驟 3. 如果 R 為零,則跳至步驟 5 步驟 4. A←B,B←R,跳至步驟 2 步驟 5. B 即為 GCD 這些敘述符合演算法的特性: 一?輸入 (Input) :兩個自然數A, B 二?明確性 (Definiteness) :以逐步追蹤法 一步一步執行敘述,不造成混淆 三?正確性 (Correctness) :以兩組A,B代入執行均得到正確結果 四?有限性 (Finiteness) :A,B,R在第二圈以後都會愈來愈小。由於他們都是正整數,所以R終會等於零 五?輸出 (Output) :A,B 的最大公因數 R = A MOD B A ← B B ← R 開 始 是 輸入自然數A,B R = 0 ? B為GCD 結 束 否 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用流程圖來描述這個演算法: 1.3 程式的分析 一個好的程式,通常必須滿足下列的條件: 一?正確達到目的:通常以具有代表性的多組輸入來測試驗證 二?可維護性高:程式的可維護性牽涉到編寫程式的方法和風格,以下是幾項檢驗項目: ? 檢驗項目一:編寫程式是否符合模組化的原則,提供由上而下 (Top-Down)的理解思路? 檢驗項目二:所有的常數變數及函式 (function) 名稱是否有意義? 檢驗項目三:所有函式的輸入、輸出及功能是否被明確地定義? 檢驗項目四:是否在適當的地方加上註解? 檢驗項目五:說明文件是否詳實完備? 三?效率高:計算程式的時間複雜度來分析效率並尋求改良之道 四?記憶體需求低:在不影響效率的情況下,需求愈低愈好 計算 n 階層 ( n! ) 的函式如下: int factor( int n) { int result, i ; 1????????????????? result = 1 ; 2????????????????? i = 1 ; 3????????????????? while ( i = n ) 4????????????????? { 5???????????????? result = result * i ; 6????????????????? i = i + 1 ; 7????????????????? } 8????????????????? return result; } 我們計算每一行敘述被執行的次數: ? 行號 n0 時 n = 0 時 1 1 1 2 1 1 3 n 1 5 n 0 6 n 0 8 1 1 總次數 3n+3 4 ? 如果 n0,頻率計數為 3n+3次,如果 n = 0 ,頻率計數為 4次 A. 單層迴圈 1????????? for ( i = 1 ; i n ; i++) 2 result = result + 1 ; 迴圈計數器i的範圍是1…n-1,因此迴圈共重複 n-1 次 簡單的數學模式: n-1 總次數 = Σ 1 = n-1 i=1 B. 雙層迴圈、內圈固定次數 1????????? for ( i = 1 ; i = n ; i++)

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档