【1】数据结构概论.ppt

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

〔1〕正确性〔Correctness〕:要求算法应确切地满足所要求解的问题的需求〔最根本的标准〕。“正确”的含义可以分为以下四层:程序不含语法错误;程序对于几组输入数据能够得出满足规格说明要求的结果;程序对于精心选择的典型、苛刻的带有刁难性的几组输入数据能够得出满足规格说明要求的结果;程序对于一切合法的输入数据都能产生满足规格说明要求的结果。4、算法设计目标〔2〕可读性〔Readability〕:算法应该是可读的,易于理解的。〔4〕高效率:算法的效率指算法的执行时间,也称为算法的时间复杂度。〔3〕健壮性〔Robustness〕:算法应对非法输入的数据作出恰当反映或进行相应处理。如参数的传递、翻开文件、读文件记录以及子程序调用状态等操作的检错、报错和纠错等功能。〔5〕低存储量需求:算法的存储量需求,也称作算法的空间复杂度,是指算法执行过程中所需要的最大存储空间。4、算法设计目标-算法设计:自顶向下,逐步求精事例学习:选择排序问题明确问题:递增排序解决方案:逐个选择最小数据算法框架:

for(inti=0;i<n-1;i++){//n-1趟 从a[i]检查到a[n-1];

假设最小整数在a[k],交换a[i]与a[k];}细化程序:程序SelectSortvoidselectSort(inta[],constintn){//对n个整数a[0],a[1],…,a[n-1]按递增顺序排序for(inti=0;i<n-1;i++){intk=i;//从a[i]查到a[n-1],找最小整数,在a[k]for(intj=i+1;j<n;j++) if(a[j]<a[k])k=j; inttemp=a[i];a[i]=a[k];a[k]=temp;}} 1.2.2算法性能的根本概念程序性能〔programperformance〕:运行一个程序所需要的内存大小和时间。空间复杂性〔spacecomplexity〕:运行完一个程序所需要的内存大小。程序的时间复杂性〔timecomplexity〕:运行完该程序所需要的时间。确定程序性能的两种方法:性能分析〔performanceanalysis〕性能测量〔performancemeasurement〕-算法时间复杂性算法执行时间需通过依据该算法编制的程序在计算机上运行所消耗的时间来度量。算法的时间复杂性〔度〕〔TimeComplexity〕和算法执行时间相关的因素:〔1〕算法选用的"策略";〔2〕算法所解问题的"规模";〔3〕编程所用"语言";〔4〕编译程序产生的机器语言代码的质量;〔5〕执行算法的计算机的"速度"。一个特定算法的“运行工作量”的大小,只依赖于问题的规模〔通常用整数量n表示〕,或者说,算法效率是问题规模的函数。例问题规模通常可以从问题描述中找到〔1〕在一个具有n个学生信息的文件中查找某个名叫李华的学生,该问题规模为n;〔2〕对一个具有n个整数组成的数组进行排序,其问题规模为n。-算法的时间复杂性事后统计法〔实验的方法〕 在算法中某些部位插装计时函数来测定算法完成某一规定功能所需要的时间。缺点:〔1〕必须执行程序;〔2〕其它因素掩盖算法本质。事前分析估算法〔分析的方法〕——程序性能分析的常用方法-算法时间性能的衡量方法1.2.3算法时间复杂性分析程序=控制结构+根本操作程序的执行时间=∑根本操作(i)的执行次数×根本操作(i)的执行时间程序的执行时间与根本操作的执行次数之和成正比。1、如何估算算法的时间复杂度-估算方法程序P占用时间: T(P)=编译〔解释〕时间+运行时间运行时间估算方法:操作计数:找出一个或多个关键操作,确定关键操作所需要的执行时间;执行步数:确定程序总的执行步数。〔1〕操作计数识别关键操作计算关键操作执行次数程序〔算法〕的时间复杂性〔度〕通常以程序〔算法〕中关键操作重复执行的次数作为度量标准。例voidMult_matrix(int**a,int**b,intn,int**c){

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档