- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
湖南涉外经济学院
教案
学 院信息科学与工程学院
系/教研室 软件工程系
课程名称 数据结构
主讲教师 __________邹竞 _________
湖南涉外经济学院
讲授章节 1 2 3 4 5
第 讲绪论
授课时数 2
教学目的:
1. 了解数据结构课程的重要性和课程的基本要求,以及本课程涵盖的内容;
2. 掌握数据结构的基本概念;
3. 理解算法描述和简单的算法分析。
教学内容 (讲授提纲)
S++ ;
1 从后序课 (数据库、操作系统、编译原理、人工智能)的需要和考研两方面介绍数 据结构课程
的重要性。
2 通过三个例子讲解数据结构研究的内容。
3 介绍基本概念:数据的三个层次,数据结构的三个要素,数据结构的分类,四种存
储结构,抽象数据类型,算法,算法的五个特性,对算法设计的要求,算法描述和算法分析, 时间复
杂度和空间复杂度。
(
4 从百钱买百鸡” 一百元钱买一百支笔”的算法例子说明选择算法的重要性:
方案 1 :
for( i = 0; i =100; i++)
for( j = 0; j =100; j++)
for( k= 0; k =100; k++)
if(i+j+k==100 3*i+2*j+0.5*k==100) printf( “i=%dj=%d, k=%d ,i,j,k)
万案 2 :
for( i = 0; i =20; i++)
for( j = 0; j =34 -i; j++) if(3*i+2*j+(100 -i-j) *0.5==100) printf( “i=%d,j=%d,k=%d ” ,i-j-
j)P0
方案 1 内层循环超过 100 万次,在某机器上运行了 50 分钟;方案 2 的 if 语句执行 525
次,运行了 2 秒钟,相差 1500 倍。
5 算法分析举例
(1) 常量阶:时间复杂度为 O(1)
++x;
s=0;
语句频度为 1,时间复杂度为 0(1)。
for(j=1;j=10000;++j) {++x; s+=x;}
语句频度为 10000 ,时间复杂度为 O(1)。
(2) 对数阶:时间复杂度为 O(log n)
s=0;
for(j=1; j=n; j*=2)
语句频度为 logn,所以时间复杂度为 O(logn)。
(3) 线性阶:时间复杂度为 O(log n)
S=0;
for (j=1;j=n;++j)
s++;
语句频度为 n,所以时间复杂度为 0(n)。
(4) 时间复杂度为 0(nlogn)
s=0;
for(j=1;j=n;j*=2)
for(k=1;k=n;++k)
s++;
时间复杂度为 O(nlogn)
(5) 平方阶:时间复杂度为 O(log n)
s=0;
for (j=1;j=n;++j)
for (k=1;k=n;++k)
s++;
2 2)。
语句频度为 n ,所以时间复杂度为 0(n
s=0;
for (j=1; j=n; j++)
for (k=1;k=j;++k)
本司主营文章撰写、培训教材、合同协议、发言稿、策划、汇报、各类文案。 ~ 海量资深编辑老师无缝对接,一对一服务。 ~ 保原创!可加急!免费改!
文档评论(0)