数据结构基本概念..docx
《数据结构基本概念..docx》由会员分享,可在线阅读,更多相关《数据结构基本概念..docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构的分类及袅示算法及算法分析例求10个正整数中最大数的算法。述算法的方法有根多:1流程图,4然语言,计算机语言开始为io个元素M3到M9摘入数值流程图描述max=a0自然语言描述攵机语言描述(1)给10个元素a0a9输入数值;卜2)把第一个元素a 0赋给用于保存最大值元素的I 变量max;| (3)把表示下标的变量i赋初值1;| (4)如果iv=10,则向下执行,否则输出最大值max后 结束算法;(5)如果a0max,则将ai赋给max,否则不改变 max的值,这使得max始终保存着当前比较过I的所有元素的最大值;| (6)使下标i增1,以指示下一个元素;I (7)转向第(4)步继续执行
2、.main()(int i,max,a10;printf(“请输入10个整数巧;for(i=0;i=10;i+) scanf(u%dn,&ai);max=a0;i=1;while(imax) max=ai;i+;printf(“10个整数中的最大值为:,max);二算法的基本特征:I)输入:0个或多个输入;2)输出:1个或多个输出;音I、露谶.算法必须在有限步内结束,且每一步都是在有限 4)确定性:在任何条件下,相同的输入只能得到相同的输出 5)可行性:组成算法的操作必须能够在计算机上实现。三评价算法好坏的标举同一个问题可以构造不同的算法,最终选择哪一个 算法?这涉及如何评价一个算法好坏的问题
3、。正确性可读性健壮性:当输入非法数据时,算法应做出适当反映或处理。执行算法所耗费的时间(时间复杂度)I执行算法所耗费的存储空间(空间复杂度)算法效率1 时间复杂度一个算法执行所耗费的时间,从理论上是不能算出来的, 必须上机运行测试才能知道。但我们不可能也没有必要对每 个算法都上机测试,这是由于本身算法的实现也要耗费时间 和精力的。因此,我们只需知道哪个算法花费的时间多,哪 个算法花费的时间少就可以了。(1时间频度一个算法花费的时间与算法中语句的执行次数成正比例,哪个算 法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为时间频 度。记为T(n。n称为问题的规模。例:求下列算法的时间
4、频度for(i=l;iv=n;i+ for(j =1; j =i; j+分析:时间频度 T(n=l+2+3+n n ( n 1 = 2 x=x+l;(2时间复杂度设T(n的一个辅助函数为g(n,定义为当n大于等于某一足够大 的正整数nO时,存在两个正的常数A和B (其中ASB),使得AST(n/g(ngB均成 立,则称g(n是T(n的同数量级函数。把T(n表示成数量级的形式为:T(n=O(g(n 其中。为Order (即数量级)的首字母。例如:若T(n=n(n+l/2,则有 l/4T(n/n2l,故它的时间复杂度为O(n2,即T (n与n2数量级相同。按数量级递增排列,常见的时间复杂度有:在各
5、种不同算法中,若算法中语 句执行次数为一个常数,则时间复杂度为0(12空间复杂度(1空间频度一个算法在执行时所占有的内存开销,称为空间频 度.( 2空间复杂度与时间复杂度类似,空间复杂度是指算法在计算机内执行时所 占用的内存开销规模。2.1敦据结构的有关概念1戴林;宋况对象的符号友示。在计算机科学中,救搪的含义非有广泛,我们也一切能够输入到计算机中并极计算机程序处理的信息,包括丈李 上表格,图象等,都称为教搪。如:一个个人书库管理程序所要处理的数据是一张表格。OOOOO2TP1844 Autnorxvare 5 1 速成 0000031684 Lots Noles网摺办公平台 0Q0004pP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 基本概念
限制150内