数据结o构课件 第一章绪论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结o构课件 第一章绪论

从算法中选取一种对于所研究的问题来说是 基本操作 的原操作,以该基本操作 在算法中重复执行的次数 作为算法运行时间的衡量准则。 例 一 两 个 矩 阵 相 乘 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) 例 二 选 择 排 序 void select_sort(int a[], int n) { // 将 a 中整数序列重新排列成自小至大有序的整数序列。 } // select_sort 基本操作: 比较(数据元素)操作 时间复杂度: O(n2) j = i; // 选择第 i 个最小元素 for ( k = i+1; k n; ++k ) if (a[k] a[j] ) j = k; for ( i = 0; i n-1; ++i ) { if ( j != i ) a[j] ←→ a[i] } 空间效率的分析 一个算法的空间效率是指在算法的执行过程中,所占据的辅助空间数量。辅助空间就是除算法代码本身和输入输出数据所占据的空间外,算法临时开辟的存储空间单元。在有些算法中,占据辅助空间的数量与所处理的数据量有关,而有些却无关。后一种是较理想的情况。在设计算法时,应该注意空间效率。 练习: 分析下列语句段执行的时间复杂度 1 . for(i=1;i=n;i++) for(j=1;j=n;j++) s++; 2 . for(i=1;i=n;i++) for(j=i;j=n;j++) s++; 3. for(i=1;i=n;i++) for(j=1;j=i;j++) s++; 4.i=1;k=0; while(i=n-1) {k+=10*i; i++;} 练习: 分析下列语句段执行的时间复杂度 5 . i=1; while(i=n) i=i*3; 6 . int fact( int n) { if (n=1) return (1); else return (n*fact(n-1)); } 任课老师:张小海 联系方式: TEL QQ 开设本课程的背景 《数据结构》是计算机相关专业的一门重要的专业基础课。它主要研究计算机加工对象的逻辑结构、在计算机中的表示形式以及实现各种基本操作的算法。它是学好操作系统、编译原理、数据库原理等计算机专业核心课程的基础,掌握好这门课程的内容,是学习计算机其他相关课程的必备条件。 本课程讲述的主要内容 本课程将分别讲述数据结构的基本概念、线性表、栈和队列、串和数组、树形结构、图结构、查找、排序等内容。 目录 第1章 绪论  1.1 数据结构的概念   1.1.1 为什么要学习数据结构   1.1.2 有关概念和术语   1.1.3 数据结构课程的内容  1.2 抽象数据类型   1.2.1 数据类型   1.2.2 抽象数据类型  1.3 算法和算法分析   1.3.1 算法特性   1.3.2 算法描述   1.3.3 算法性能分析与度量 第2章 线性表  2.1 线性表的逻辑结构   2.1.1 线性表的定义   2.1.2 线性表的基本操作  2.2 线性表的顺序存储及运算实现   2.2.1 顺序表   2.2.2 顺序表上基本运算的实现   2.2.3 顺序表应用举例  2.3 线性表的链式存储和运算实现   2.3.1 单链表   2.3.2 单链表上基本运算的实现   

文档评论(0)

1haodian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档