DS01_概论_陈越主编_数据结构解答.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 概论 ;第1章 概论 ;第1章 概论 ;第1章 概论 ;#include stdio.h #include time.h clock_t start, stop; /* clock_t是clock()函数返回的变量类型 */ double duration; /* 记录被测函数运行时间,以秒为单位 */ int main () { /* 不在测试范围内的准备工作写在clock()调用之前*/ start = clock(); /* 开始计时 */ function(); /* 把被测函数加在这里 */ stop = clock(); /* 停止计时 */ duration = ((double)(stop - start))/CLK_TCK;/* 计算运行时间 */ /* 其他不在测试范围的处理写在后面,例如输出duration的值 */ return 0; } ;即使解决一个非常简单的问题,往往也有多种方法,且不同方法之间的效率可能相差甚远 解决问题方法的效率 跟数据的组织方式有关(如例1.1) 跟空间的利用效率有关(如例1.2) 跟算法的巧妙程度有关(如例1.3);第1章 概论 ;第1章 概论 ;第1章 概论 ;【定义】一个算法是解决某一类问题的步骤的描述。一般而言,算法应该符合以下五项要求: (1) 输入:它接受一些输入(有些情况下不需要输入); (2) 输出:至少产生一个输出; (3) 确定性:算法的每一步必须有充分明确的含义,不可以有歧义; (4) 有限性:算法是一个有限指令集,并一定在有限步骤之后终止; (5) 可行性:算法的每一步必须在计算机能处理的范围之内。;〖例〗 选择法排序:把n个整数从小到大排序。;? 具体衡量、比较算法优劣的指标主要有两个: ? 空间复杂度S(n) ——根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的规模有关。空间复杂度过高的算法可能导致使用的内存超限,造成程序非正常中断。;第1章 概论 ;第1章 概论 ;第1章 概论 ;第1章 概论 ;第1章 概论 ;2n;?s = 微秒 = 10-6 秒 ms = 毫秒 = 10-3 秒 sec = 秒;第1章 概论 ;〖问题〗给定 n个整数(可以是负数)的序列{a1, a2, …, an} , 求函数 f(i, j) = max( 0, ) 的最大值。;算法 2;算法 3;该算法的核心思想是基于下面的事实: 如果整数序列 {a1, a2, …, an}的最大和子列是 {ai, ai+1, …, aj} ,那么必定有 对任意 i ≤ l ≤ j 都成立。 因此,一旦发现当前子列和为负,则可以???新开始考察一个新的子列。;

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档