- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
遞迴演算法Recursive Algorithms 直接遞迴(Direct Recursion) 一函數直接呼叫自己 二元搜尋法(binary search) 排列(permutation) 間接遞迴(Indirect Recursion) A函數呼叫 B函數,而B函數會再呼叫A函數 Binary search and Permutation Program 1.7及program1.8 在第四章及第五章會有更多的討論 程式作業2 Page 14 Exercise 11 Tower of Hanoi 漢諾塔或梵天塔 截止日期 兩個星期後 資料抽象化Data Abstraction C程式語言所提供的資料型態(data type) C本身已提供有char(字元), int(整數), float(浮點), double(雙精度浮點) 另外還有short(短整數), long(長整數)及在基本型態還可以再加上關鍵字 unsigned(非負)來做變化 將相同資料型態群組化, [ ](array, 陣列) 將不一定相同的資料型態的資料集合起來(structure, 結構) struct student { char last_name; int student_id; char grade; } C也提供了所謂指標資料型態(pointer) int i, *p; 資料抽象化Data Abstraction 資料型態(data type)的定義 一些物件的集合加上包含在物體上可以操作的一套操作方法 抽象資料型態(abstract data type, ADT) 也是資料型態, 而它被整理成物件的規格定義和在這些個物件上操作方法的所有規格定義 在這些物件上所有的操作方法的定義規格是和物件的呈現及實際操作方法的製作是分開的 C是沒有明顯的語法機制來製作ADT, 但是可以用一樣的觀念來達成 C++(Class), ADA(package) 所以ADT可以是與實際製作無關的 資料抽象化Data Abstraction ADT資料型態所包含的功能 產生者/建構者(Creator/Constructor) 產生想要的資料型態的實體 轉換者(Transformer) 通常是要將一個或多個其他的資料型態實體轉換成一個新的資料型態實體 觀察者/記錄者(Observer/Reporter) 是提供資料型態實體的資訊, 不會改變實體 一個ADT的定義就是至少包含上述的 一個功能 ADT實例, 自然數(Nature_Number) 自然數(Nature_Number)的結構(structure)就是 物件: 一個從0開始一直到電腦上的最大整數值(INT_MAX)結束的一連串整數數列 功能: x,y可以是所有在Nature_Number內的元素, TRUE, FALSE是布林值(boolean)而+, -, , and ==是一般整數的運算元 Nat_No Zero( ) ::= 0 Boolean Is_Zero(x) ::= if (x) return FALSE else return TRUE Nat_No Add(x,y) ::= if ((x+y)=INT_MAX) return x+y Boolean Equal(x,y) ::= if ((x==y) return TRUE else return FALSE Nat_No Successor(x) ::= if (x==INT_MAX) return x else return x+1 Nat_No Subtract(x,y) ::= if (xy) return 0 else return x-y 效能分析 評量程式好壞的一些標準 程式是否有達成所要完成的所有工作? 執行結果正確與否? 程式是否有任何操作說明的文件? 程式是否有效的利用函數來產生邏輯單元? 程式可讀性是否很高? 客觀分析(Complexity Theory) 程式是否有效的利用了主要及次要的儲存裝置? Space Complexity 程式執行出結果的時間是否能接受? Time Complexity 演算法效能的表示式 空間複雜度(Space Complexity) 一個程式要完成工作所需的電腦記憶體空間 固定空間需求(fixed space requirement), c 可變空間需求(variable space requirement), Sp(I) S(P)=c+ Sp(I) 時間複雜度(Time Complexity) 一個程式要完成工作所需的電腦時間 利用不管是在語法或語意上都有重要意義的程式執行的每一步(program step)來作為衡量標準
您可能关注的文档
- 西屋OVAION算法模块介绍.ppt
- 西方常见食物英语名称图文.ppt
- 西格玛个标准差.ppt
- 西洛他唑幻灯片北京.ppt
- 西门子LCS教学安全设计.ppt
- 西门子LC简介硬结构.ppt
- 西门子LC编程图文详解.ppt
- 西门子LC编程图文详解91036.ppt
- 观后感的写法幻灯片.ppt
- 观察种子的结构实验.ppt
- 校本教研模式创新:生成式AI在教师专业发展中的角色与作用研究教学研究课题报告.docx
- 初中AI编程课中机器人深度强化学习循迹算法的智能控制研究课题报告教学研究课题报告.docx
- 生态农业旅游项目商业计划书.docx
- 发电公司安全管理讲解.pptx
- 小学生网络游戏成瘾原因及干预措施研究教学研究课题报告.docx
- 黄精产业2025年产业链分析:林下种植与中药饮片加工专项报告.docx
- 2025年新能源智能能源管理系统行业发展趋势报告.docx
- 2025年全球智能电网市场并购重组趋势分析.docx
- 2025年教育硬件五年发展:交互式白板与智能穿戴报告.docx
- 2025年金属包装冲压技术行业报告.docx
原创力文档


文档评论(0)