(完整版)数据结构教案.docx

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
湖南涉外经济学院 教案 学 院信息科学与工程学院 系/教研室 软件工程系 课程名称 数据结构 主讲教师 邹竞 湖南涉外经济学院 讲授章节 第 从后序课(数据库、操作系统、编译原理、人工智能)的需要和考研两方面介绍数 据结构课程的重要性。 通过三个例子讲解数据结构研究的内容。 介绍基本概念:数据的三个层次,数据结构的三个要素,数据结构的分类,四种存储结构,抽象数据类型,算法,算法的五个特性,对算法设计的要求,算法描述和算法分析, 时间复杂度和空间复杂度。 从后序课(数据库、操作系统、编译原理、人工智能)的需要和考研两方面介绍数 据结构课程的重要性。 通过三个例子讲解数据结构研究的内容。 介绍基本概念:数据的三个层次,数据结构的三个要素,数据结构的分类,四种存 储结构,抽象数据类型,算法,算法的五个特性,对算法设计的要求,算法描述和算法分析, 时间复杂度和空间复杂度。 从百钱买百鸡”(一百元钱买一百支笔”的算法例子说明选择算法的重要性: 方案 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倍。 算法分析举例 常量阶:时间复杂度为 O(1) ++x; s=0; 语句频度为1,时间复杂度为 0(1)。 for(j=1;j=10000;++j) {++x; s+=x;} 语句频度为10000 ,时间复杂度为 O(1)。 对数阶:时间复杂度为 O(log n) s=0; for(j=1; j=n; j*=2) 授课时数 2 教学目的: 了解数据结构课程的重要性和课程的基本要求,以及本课程涵盖的内容; 掌握数据结构的基本概念; 理解算法描述和简单的算法分析。 教学内容(讲授提纲) S++; 语句频度为logn,所以时间复杂度为 O(logn)。 线性阶:时间复杂度为 O(log n) S=0; for (j=1;j=n;++j) s++; 语句频度为n,所以时间复杂度为 0(n)。 时间复杂度为0(nlogn) s=0; for(j=1;j=n;j*=2) for(k=1;k=n;++k) s++; 时间复杂度为O(nlogn) 平方阶:时间复杂度为 O(log n) s=0; for (j=1;j=n;++j) for (k=1;k=n;++k) s++; 语句频度为n2,所以时间复杂度为 0(n2)。 s=0; for (j=1; j=n; j++) for (k=1;k=j;++k) s++; 语句频度为n(n+1)/2,所以时间复杂度仍为 0(n2)。 立方阶:时间复杂度为 0( n 3) 例:矩阵乘法:n x n for( i = 0; i n; i++) 〃(n+1) for( j = 0; j n; j++) 〃n(n +1) TOC \o 1-5 \h \z { c[i][j] = 0 ; 〃n2 for( k= 0; k n; j++) // n2 (n+1) c[i][j] = c[i][j]+a[i][k]* b[k][j]; // n3 } 说明:各语句行后的数字是该语句重复执行的次数 ; 本算法时间复杂度为 0 (n3) 空间复杂度 算法原地(就地)工作: 若所用额外存储空间相对于输入数据量来说是常数,则称此算法为原地(就地)工作。 本章节的教学重点、难点: 重点是数据结构的基本概念 难点是时间复杂度分析 教学方法、教学手段: 介绍到算法概念(45分钟) 算法分析和举例(45分钟) 使用教具:计算机和投影仪 作业、讨论题、思考题: 编写最优算法,从小到大依次输出顺序读入的三个整数。 要求: 最佳情况:比较2次,无移动; 最差情况:比较3次,7次移动 参考资料: 陈守孔等著 《算法与数据结构C语言版》机械工业出版社 2007 陈守孔等著 《算法与数据结构考研试题精析》 机械工业出版社 2008 3?严蔚敏等著 《数据结构C语言版》 清华大学出版社 2005 D.E.Knuth著 《计算机程序设计技巧》第一、三卷 管纪文译 国防出版社 讲授章节第2讲线性表一一顺序表授课

文档评论(0)

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

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

1亿VIP精品文档

相关文档