数据结构与算法绪论要点解析.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;教材:;数据结构与算法分析:C语言描述(原书第2版) 2004-01 维斯、?冯舜玺;课程内容(共计40学时+8学时上机);;例2 人机对弈问题;例3 多叉路口交通灯管理问题;目的 : 用于程序设计; 数据结构与其它课程关系图: ; 本课程的教学目标;建议上机环境 : VC/C++ 、eclipse Android Java ;本章导读 主要对数据结构课程中遇到的基本概念做概括性的叙述,这些内容将贯穿数据结构课程的学习始终。;第1章 绪论;1.1 数据结构的基本概念;;1.基本术语(续);数据的逻辑结构;;数据结构(Data Structure)的定义: 相互之间存在着一种或多种特定关系的数据元素的集合。;数据的存储结构;数据的操作;1.2 抽象数据类型和软件构造方法; 抽象数据类型使软件设计成为工业化流水线生产的一个中间环节。一方面,根据给出的抽象数据类型的功能定义,负责设计这些抽象数据类型的专门公司设计该抽象数据类型的具体存储结构以及在具体存储结构下各操作的具体实现算法;另一方面,利用已设计实现的抽象数据类型模块,负责设计应用软件的专门公司可以安全、快速、方便的完成该应用软件系统的设计。;1.3 算法及其时间复杂度; 例1-1:设计一个把存储在数组中的有n个抽象数据元素a0, a1,…,an-1逆置的算法,即要求逆置后的数组中数据元素序列为an-1 , … , a1 , a0 ,并要求原数组中的数据元素值不能被改变。;void Reverse(int n,DataType a[]) { int i,m=n/2; DataType temp; for(i=0;im;i++) //进行m次调换 { temp=a[i]; a[i]=a[n-1-i]; a[n-1-i]=temp; } };算法满足以下性质: (1)输入性(2)输出性 (3)有限性 (4)确定性 (5)可执行性;程序运行消耗时间的有关因素:;例1-3 设数组a和b在前边部分已赋值,求如下两个n阶矩阵相乘运算算法的时间复杂度。;例1-4 设n为如下算法处理的数据个数,求如下算法的时间复杂度。 for(i=1;i=n;i=2*i) couti=i; 解:设基本语句的执行次数为f(n),有 2f(n) ≤ n,即有 f(n) ≤lb n。 因T(n)= f(n) ≤ lb n ≤ c × lb n,所以该算法的时间复杂度为 T(n)=O(lb n)。;void BubbleSort(int a[],int n) { int i,j,flag=1; int temp; for(i=1;inflag==1;i++) { flag=0; for(j=0;jn-i;j++) { if(a[j]a[j+1]) { flag=1; temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } };解:设基本语句的执行次数为f(n),最坏情况下有 f(n)≈n+4*n2/2 因T(n)=f(n) ≈n+2* n2 ≤c* n2,其中c为常数,所以该算法的时间复杂度为T(n)=O(n2)。;例1-6 下面的算法是在一个有n个数据元素的数组a中删除第i个位置的数组元素,要求当删除成功时数组元素个数减1,求该算法的时间复杂度。其中数组下标从0至n-1。;解:假设删除任何位置上的数据元素都是等概率的,设Pi为删除第i个位置上数据元素的概率,则有Pi=1/n,设E为删除数组元素的平均次数,则有;1.4 算法的书写规范;书写规范: #include先包括系统头文件,再包括自定义头文件 变量就近定义,以便于阅读和查找 算法采用缩进格式书写 当算法简单时,通常不分段;当算法复杂时,可分成若干段,每段之间空一行 为增加算法的可读性,算法中应添加适当的注释语句;第1章要点小结 ;2. 注意逻辑结构与存储结构的区别

文档评论(0)

118118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档