网站大量收购独家精品文档,联系QQ:2885784924

一资料结构导论.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一资料结构导论

一﹑資料結構導論 1 前言 2 模組化程式設計 從問題到程式 程式設計的標準 由上而下的設計概念 3 資料與結構 4 資料結構與演算法 何謂演算法 演算法的評估 1 前言 進階的程式設計課程 程式設計→資料結構→演算法→離算數學→計算理論 實務與理論 2 從問題到程式 程式設計的五個階段 需求分析階段:問題﹑輸入﹑輸出﹑設備﹑工具 設計階段:演算法﹑資料結構﹑程式模組 程式撰寫階段 驗證階段:測試﹑偵錯 維護階段:文件 相關課程 系統分析﹑程式設計﹑資料結構﹑演算法﹑軟體工程 3 程式設計的標準 簡明性:簡單﹑易懂﹑明瞭 可靠性:將錯誤減到最低 可修改性:容易擴展﹑功能增加 可移植性:跨平台程式設計 4 由上而下的設計概念 模組化:divide and conquer 主程式 子程式 專案(Project) 模組(Module) 程式(Program) 函數(Function) 敘述(Statement) 範例:Editor 五大模組 鍵盤處理:keoard.c 螢幕處理:screen.c 資料儲存:data.c 命令列處理:command_line.c 檔案處理:file.c 個別編譯:Separate Compile 範例:Editor (續) 鍵盤處理模組 一般資料輸入 控制鍵 游標 區塊 字元﹑行﹑列之增加與刪除 範例:Editor (續) 鍵盤處理模組:游標處理 上移一行︰↑ 下移一行︰↓ 標右移一列︰→ 左移一列︰← 移到行首︰Home 移到行末︰End 上捲一頁︰PageUp 下捲一頁︰PageDown 2 資料與結構 資料-data 所有可以輸入到計算機中,並且計算機程式處理的符號的總稱,包括數值資料﹑字串資料﹑影像﹑聲音﹑視訊等等 資料形態:資料的值域和其基本運算 整數 值域- -32768 ~ 32767 運算:+-*/% 字元 值域- 0 ~ 127 運算-大小寫轉換 2 資料與結構 資料結構(data structure): 資料的結構(the structure of data) 有結構性的資料(structured data) 結構:資料之間的關聯性 集合關係:無順序性的資料關係 線性關係:陣列﹑串列﹑堆疊﹑佇列 一對多關係:樹狀結構 多對多關係:圖形結構 2 資料與結構 研究資料結構的目的 節省資料儲存所需的空間 節省資料處理所需的時間 邏輯資料結構-Logical 資料與資料之間的關聯性和其計算 實體資料結構-Physical 資料如何儲存﹑程式如何實作 3 資料結構與演算法 演算法:資料處理程式執行的步驟 演算法的特性 有限性:在有限的步驟內結束 確定性:針對資料的特性,每一個執行步驟都是明確的 輸入/輸出: 可行性: 與程式語言無關:C or VB,don’t care 整數 n 是否為質數-演算法 1 令 i 的值等於 2 2 如果 i 可以整除 n,則 n 不是質數,迴圈結束 3 將 i 的值加 1 4 如果 i 的值小於 n,回到步驟 2 5 n 是質數 整數 n 是否為質數-SPARK 1 for i = 2 to n - 1 2 if n mod i = 0 then 3 n 不是質數 4 End loop 5 endif 6 next I 7 n 是質數 整數 n 是否為質數-流程圖 找出小於 n 的質數﹙一) 找出小於 n 的質數﹙二) 判斷 n 是否為質數的定理 定理:對於任意自然數 n,如果沒有小於等於 √n 的因數,則 n 是質數 證明:反證法 找出小於 n 的質數﹙三) 1.3.2 演算法的評估 複雜度(complexity) 空間複雜度 執行程式時所需的空間,包括主記憶體﹑輔助記憶體等等 時間複雜度 執行程式所需的時間,包括編譯﹑連結﹑執行所需的時間,其中又以後者最為重要 1.3.2 演算法的評估(續) 局部性 80 / 20 定理:百分之八十的時間是在執行百分之二十的程式敘述 時間局部性 空間局部性 大O記號 f(n) = n2 + 100n → O(n2) 大O記號 O(1):程式執行的時間與資料量無關 O(log n):二分搜尋法 O(n):循序搜尋法 O(n * log n):快速排序法 O(n2):挑選式排序﹑矩陣相乘 O(2n):Hanoi ↑:游標上移 ↓:游標下移 * 四種基本資料結構圖 a集合關係 b線性關係 c樹狀關係 d圖形關係 輸入 n,令 i = 2 i n n %i=0 i = i +1 程式結束 Y:n 是質數 N Y:n 不是質數 N ? 1 prime1(int n) 2 { 3 int i, j, p;

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档