数据结构课件第1章要点
4)高效率与低存储量需求 通常,效率指的是算法执行时间;存储量指的是算法执行过程中所需的最大存储空间,两者都与问题的规模有关。 算法效率的衡量方法和准则 衡量算法效率的方法: 缺点:1.必须执行程序 2.其它因素掩盖算法本质 事后统计法: 事前分析估算法 和算法执行时间有关的因素: 1.算法选用的策略 2.问题的规模 3.编写程序的语言 4.编译程序产生的机器代码的质量 5.计算机执行指令的速度 一个特定算法的“运行工作量” 的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数f(n) 。 算法 = 控制结构 + 原操作 //基本操作 (固有数据类型的操作) 算法的执行时间 = 原操作(i)的执行次数×原操作(i)的执行时间 算法的执行时间 与 原操作执行次数之和 成正比 从算法中选取一种对于所研究的问题来说是 基本操作 的原操作,以该基本操作 在算法中重复执行的次数 作为算法运行时间的衡量准则。 表示随着问题规模的增大,算法执行时间增长增长率和 f(n)相同,称作算法的渐近时间复杂度,简称为时间复杂度。 一般情况下,算法中基本操作执行的次数是问题规模n的某个函数f(n),算法的时间量度记作: T (n) = O(f(n)) ( M 是0的常数) 也可以用: 如何估算算法的时间复杂度? 例:2n3+1000n2+1=O(n3) 1000n2+n+1000000= O(n2) 例 一 两 个 矩 阵 相 乘 void mult(int a[], int b[], int c[] ) { // 以二维数组存储矩阵元素,c 为 a 和 b 的乘积 for (i=1; i=n; ++i) for (j=1; j=n; ++j) { c[i][j] = 0; for (k=1; k=n; ++k) c[i][j] += a[i][k]*b[k][j]; } //for } //mult 基本操作: 乘法操作 时间复杂度: O(n3) 例 二 冒 泡 排 序 基本操作: 交换两个相邻元素的操作 时间复杂度: O(n2) void bubble_sort(int a[ ], int n) {// 将 a 中整数序列重新排列成自小至大有序的整数序列。 for (i=n-1, change=TRUE; i=1 change; --i) } // bubble_sort { change = FALSE; // change 为元素进行交换标志 for (j=0; ji; ++j) if (a[j] a[j+1]) { a[j] ←→ a[j+1]; change = TRUE ;} } // 一趟冒泡 交换次数: 最好情况:0 最坏情况:n(n-1)/2 最坏情况下的时间复杂度 平均时间复杂度 若不特别说明,以后我们所说的都是最坏情况下的时间复杂度 常见函数的时间复杂度按数量递增排列及增长率。 常数阶O(1) 对数阶O(log2n) 线性阶O(n) 线性对数阶O(nlog2n) 平方阶O(n2) 立方阶O(n3) …… 多项式阶O(nk) 指数阶O(2n) 1.10 按增长率由小到大的排列顺序是: (2/3)n , 2100, log2(log2n) , log2n , (log2n)2, , n2/3, n/log2n , n , nlog2n , n3/2, (4/3)n , (3/2)n , n log2n , n! , nn 解题依据为: 4) 算法的存储空间需求 算法的空间复杂度定义为: 表示随着问题规模 n 的增大,算法运行所需存储量的增长率与 g(n) 的增长率相同。 S(n) = O(g(n)) 算法的存储量包括: 输入数据所占空间 程序本身所占空间 辅助变量所占空间 若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。 若需存储量依赖于特定的输入,则通常按最坏情况考虑。 若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作。例如在进行冒泡排序时所需的额外的空间就是一个常数,空间复杂度为O(1)。 本章小结 1.基本概念和术语 数据、数据元素、数据项、数据结构、数据对象、数据结构(逻辑结构、存储结构、运算)、多形数据类型、抽象数据类型(定义、表示和实现) 2.抽象数据类型:描述、类-C中的基本语句和函数 3.算法:算法的
您可能关注的文档
- 风电场工程输配电施工组织设计.doc
- 数学第三章+数列02.ppt
- 数学第四章 排列、组合与概率02.ppt
- 风机单位工程(工程项目)竣工报告.docx
- 数学英语词汇.doc
- 数学课程标准.ppt
- 数学运算公式类及数字推理.docx
- 数学高一专题 倾斜角与直线方程.doc
- 数学错题整理版.doc
- 数学高中北师大版必修四《弧度制》课件.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 【花生十三】25公务员考试资料分析速算练习册及速算过程.pdf VIP
- mst2016说明书.pdf VIP
- 口腔科课件洁治.pptx
- 2025兴安盟公安局招聘165名留置看护警务辅助人员备考试题及答案解析.docx VIP
- 35KV变电站毕业设计(完整版).doc VIP
- AP微观经济学 2012年真题 (选择题+问答题) AP Microeconomics 2012 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 上海师范大学天华学院公共课《大学计算机基础》期末试卷A(有答案).docx VIP
- 高中生对AI 技术应用的态度与认知调查问卷.docx VIP
- 2025年度”五个方面“专题组织生活会个人对照检查发言材料.docx VIP
- 南方医科大学各专业实习大纲汇编.pdf VIP
原创力文档

文档评论(0)