高校教案模板课件.docVIP

  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文档。上传文档
查看更多
福 州 理 工 学 院 教 案 课 程 名 称 数据结构与算法设计 系 (部) 信息工程系 教 研 室 计算机 授 课 教 师 黄取治 职 称 讲师 1 附件 2: 教 案(首页) 总计 : 学时 课程名称 数据结构与算法设计 学 分 讲授: 学时 □公共课□ 公共选修课 □专业基础课□专业必修课□专业方向选修 上机: 学时 类 别 课□实验实训课(仅限本科) 实验/ 训: 学时 (请打√) □ 公共课 □ 公共选修课 □ 专业基础课 □ 专业必修课 □ 专业选修课 □ 其它: 学时 实验实训课 (仅限高职) 授 课 对 象 (请打√) □本科 □高职 □其他 (注明书名、主编、出版社、出版时间) 使用教材 参考资料 教 学 方 法 教学手段 考核方式 学生创新 精神与实 践能力的 培养方法 2 数据结构与算法设计 课程教案(续页) 授课时间 第 1 周 授课方式 (请打√) □讲授 □上机 □实验 / 训 □其它 课时 安排 授课题目(章节或单位课时) : 第一章 绪论 教学目的与要求(分了解、熟悉、掌握三个层次) : 1.了解数据结构课程的重要性和课程的基本要求,以及本课程涵盖的内容; 2. 掌握数据结构的基本概念; 3. 理解算法描述和简单的算法分析。 教学重点与难点: 1. 重点是数据结构的基本概念 2. 难点是时间复杂度分析 教 学 内 容 备 注 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-,ij-, j)1;00 方案 1 内层循环超过 100 万次,在某机器上运行了 50 分钟;方案 2 的 if 语句 执行 525 次,运行了 2 秒钟,相差 1500 倍。 5. 算法分析举例 (1)常量阶: 时间复杂度为 O(1) ++x; s=0; 语句频度 为 1, 时间复杂度为 O(1)。 3 for(j=1;j=10000;++j) {++x; s+=x;} 语句频度为 10000,时间复杂度为 O(1) 。 (2)对数阶: 时间复杂度为 O(logn) s=0; for(j=1; j=n; j*=2) s++; 语句频度为 logn,所以时间复杂度为 O(logn)。 (3)线性阶: 时间复杂度为 O(logn) S=0; for(j=1;j=n;++j) s++; 语句频度为 n,所以时间复杂度为 O(n) 。 (4)时间复杂度为 O(nlogn) s=0; for(j=1;j=n;j*=2) for(k=1;k=n;++k) s++; 时间复杂度为 O(nlogn) (5)平方阶: 时间复杂度为 O(logn) s=0; for(j=1;j=n;++j) for(k=1;k=n;++k) s++; 语句频度为 n 2,所以时间复杂度为 O(n2)。 s=0; for(j=1; j=n; j++) for(k=1;k=j;++k) s++; 语句频度为 n(n+1)/2 ,所以时间复杂度仍为 O(n 2)。 (6)立方阶: 时间复杂度为 O( n 3) 例:矩阵乘法: n x n for( i = 0; i n; i++) //(n+1) for( j = 0; j n; j++) //n(n+1) 2 { c[i][j] = 0 ; //n 2 for( k= 0; k n; j++) // n (n+1) 3 c[i][j] = c[i][j]+a[i][k]* b[k][j]; // n } 4 说明:各语句行后的数字是该语句重复执行的次数 ; 本算法时间复杂度为 O (n 3) 6. 空间复杂度 算法原地(就地)工作: 若所用额外存储空间相对于输入数据量来说是常数, 则称此算法为原地 (就地) 工作。 5

文档评论(0)

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

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

1亿VIP精品文档

相关文档