数据结构课件代码第1章绪论482章节幻灯片.ppt

数据结构课件代码第1章绪论482章节幻灯片.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[例] 冒泡排序算法 数据结构---第1章 绪论 * void bubble_sort(int a[ ], int n ) { //将a中n个数据序列重新排列成自小至大有序的整数序列 for (i=n-1, change=TRUE; i=1 change; --i) { change=FALSE; for ( j=0; ji; ++j) if ( a[j]a[j+1] ) { a[j] a[j+1]; change=TRUE; } } }//bubble_sort 数据结构---第1章 绪论 * 一些约定 1)预定义常量和类型: //函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 //Status作为函数的类型,其值是函数结果状态代码 typedef int Status; 2)数据元素类型约定为ElemType,使用时按需定义 数据结构---第1章 绪论 * 1.3.3 算法分析 ——算法效率的度量 一个具体问题的数据对象往往可以采用多种存储方式的一种,一个问题的解决又常常有多种可用的算法。 数据结构---第1章 绪论 * 通常有两种衡量算法效率的方法: 事后统计法 利用计算机内记时功能,不同算法的程 序可以用一组或多组相同的统计数据区分 事前分析估算法 时间复杂度(渐进时间复杂度) 空间复杂度 缺点:必须执行程序 其它因素掩盖算法本质 和算法执行时间相关的因素 (1).程序运行时所需输入的数据总量 (问题规模) (2).对源程序进行编译所需时间 (3).计算机执行每条指令所需时间 (4).程序中指令重复执行的次数 如何估算算法的时间复杂度? 从算法中选取一种对所研究的问题来说执行最频繁的基本操作为原操作, 当问题规模 n 相当大时, 该原操作执行时间占算法总执行时间的绝大部分, 所以, 把该原操作在算法中重复执行的次数 (频度) 作为算法运行时间的衡量准则。 可近似认为:算法的执行时间 与 原操作的频度 成正比 估算时间复杂度时取频度的阶次 时间复杂度 n 问题规模,一般为数据的输入量 算法的时间复杂度 算法中各语句的频度之和T(n) T(n)=O( f(n) ) 大O表示法 时间复杂度 O的含义 存在正的常数c和n0,使得当n ? n0时, 0? T(n) ? c* f(n) 表示随着问题规模 n 的增长, 算法执行时间的增长率和 f(n) 的增长率相同, 称 T(n) 为算法的渐近时间复杂度,简称时间复杂度,即, 当n→∞ 时 T (n) /f(n)→常数 。 常用的时间复杂度频率计数 算法中常用的时间复杂度频率计数有7种: O(1)常数型 O(n)线性型 O(n2)平方型 O(n3)立方型 O(2n)指数型 O(log2n)对数型 O(nlog2n)二维型 按时间复杂度由小到大排列的频率表为: 时间复杂度曲线 O(1)O(log2n)<O(n)<O(nlog2n)<(n2)<O(n3)<<O(2n) 时间复杂度的求法 计算T(n) 从T(n)中推断f(n) 影响算法时间复杂度的因素 问题的规模 输入实例的初态 时间复杂度计算步骤 最坏时间复杂度 定义: 算法在最坏情况下的时间复杂度,即为分析估计算法在最坏情况下执行时间的上界。 数据结构---第1章 绪论 * [例1] 交换i和j的内容 (1) temp=i; (2) i=j; (3) j=temp; 解:T(n)=3 记作T(n)= O(1) 数据结构---第1章 绪论 * [例2] n?n矩阵相乘的算法语句 for ( i=1; i=n; i++ ) n+1 for (j=1; j=n; j++) n(n+1) { c[i, j]=0;

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档