《数据结构B》教案第02章.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文档。上传文档
查看更多
南京邮电大学计算机学院教案用纸 课程: 数据结构B 主讲教师:邹志强 教材:数据结构——使用C++语言描述 讲授题目 第2章 线性表 教学目的 理解线性表ADT 掌握线性表的顺序和链接表示方法, 熟练掌握线性表插入、删除和查找元素的算法 掌握使用大O记号表示线性表运算的渐近时间复杂度的方法 掌握使用线性表求解一元多项式的算术运算问题的方法 重点及难点 重点: 线性表的顺序和链接表示 在顺序表和单链表上实现线性表运算 顺序和链接表示的优缺点 难点: 多项式的算术运算 主要教学方法 课内讲授,课外作业、答疑 上机实验 课外复习:面向对象程序设计方法 课外自学:第12章 实习指导 教学手段 (1)多媒体课件 (2)《数据结构》网站的网络资源 教学过程学时分配 教 学 内 容 3 2.1 线性表ADT 2.2 线性表的顺序表示 2.3 线性表的链接表示 2 2.4 多项式的算术运算 南京邮电大学计算机学院教案用纸 课程: 数据结构B 主讲教师:邹志强 教材:数据结构——使用C++语言描述 理解线性表AD 线性表是n((0)个元素a0,a1,…,an-1 的有序集合,记为(a0,a1,…,an-1) 其中,n是线性表中元素的个数,称为线性表的长度,n=0 时称为空表。 设ai是线性表(a0,a1,…,an-1)中第i个元素,i=0, 1,…,n-1,则称 ai 是ai+1的直接前驱元素,ai+1是ai的直接后继元素。 线性表是动态数据结构,它的表长可以改变。 ADT 2.1 线性表抽象数据类型 ADT LinearList { Data:零个或多个元素的有序集合。 Operations: Create(): 创建一个空线性表。 Destroy(): 撤消一个线性表。 IsEmpty():若线性表空,则返回true;否则返回false。 Length():返回表中元素个数。 Find(i,x):在x中返回表中下标为i的元素ai(即表中第i+1个元素)。 如果不存在,则返回false,否则返回true。 Search(x):返回x在表中的下标;若x不在表中,则返回-1。 Insert(i,x):在元素ai之后插入x。若i=-1,则x插在第一个元素a0前。 插入成功返回true,否则返回false。 Delete(i):删除元素ai。删除成功返回true,否则返回false。 Update(i,x):将元素ai的值修改为x。修改成功返回true,否则返回 false。 Output(out):把表送至输出流。 }                  掌握线性表的顺序和链接表示方法, 若已知顺序表示的线性表中每个元素占k个存储单元,第一个元素a0在计算机内存中的地址是loc(a0) ,则表中任意一个元素ai在内存中的存储地址loc(ai)为 loc(ai)=loc(a0)+i*k 只要给定loc(a0)和k,就可以确定线性表中任意一个元素的存储地址,换句话说,顺序表是一种随机存取结构。 线性表的链接存储表示法 (1) 单链表 (2) 带表头结点的链表 (3) 循环链表 (4) 双向链表 南京邮电大学计算机学院教案用纸 课程: 数据结构B 主讲教师:邹志强 教材:数据结构——使用C++语言描述 熟练掌握线性表插入、删除和查找元素的算法 1) 查找下标为i的元素ai templateclass T bool SeqListT::Find(int i,T x) const { if (i0 || in-1) { coutOut of Boundsendl; return false; } x=elements[i]; return true; } 渐近时间复杂度:O(1) 查找元素ai的算法 templateclass T bool SingleListT::Find(int i,T x)const { if (i0 || in-1 ) { cout Out Of Bounds; return false; } NodeT *p=first; for (int j=0; ji; j++) p=p-link; x=p-element; return true; } 渐近时间复

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档