- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
课时3抽象数据类型;1.理解抽象数据的概念,理解并体会抽象数据类型对数据处理的重要性。2.能用抽象数据类型表示栈、队列、二叉树,并定义其数据及基本操作,并尝试编写程序实现,进而提高学生的知识迁移能力。;;;1.数据类型与抽象数据类型;抽象数据类型与数据结构的关系。
抽象数据类型与数据结构是两个不同的概念,不能混为一谈。具体为:
①数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。
②抽象数据类型是指一个数学模型及定义在该模型上的一组操作,“抽象数据类型”本质是“数据类型”。我们可以用“抽象数据类型”来实现“数据结构”。;2.抽象数据类型(ADT)的描述;操作1
初始条件
操作结果描述
操作2
……
操作n
……
endADT;(3)线性表抽象数据类型
ADTList:
List(self)#创建一个新表
is_empty(self)#判断self是否为一个空表
len(self)#返回列表的长度
prepend(self,elem)#在表头插入元素elem
append(self,elem)#在表尾插入元素elem
insert(self,elem,i)#在表的第i个位置入元素elem
del_first(self)#删除第一个元素
del_last(self)#删除最后一个元素
del(self,i)#删除第i个元素
search(self,elem)#查找元素elem在表中第一次出现的位置
forall(self,op)#对表中的每个元素执行op操作;3.抽象数据类型的作用;;例1抽象数据类型的三个组成部分分别为数据对象、数据关系和();;例2创建一个简单的ADT,如下所示:;;变式训练用抽象数据类型实现栈操作的代码如下:;;;;A.len() B.append() C.del D.values();3.下列是一个判断三位数整数是否为水仙花数的简单ADT:;C;4.下列是一个加减乘除四则运算的ADT,请回答下列问题:;ifself.ch==″-″:
c=self.data1-self.data2
print(self.data1,″-″,self.data2,″=″,c)
ifself.ch==″*″:
c=self.data1*self.data2
print(self.data1,″*″,self.data2,″=″,c)
ifself.ch==″/″:
ifself.data2!=0:
___________________
print(self.data1,″/″,self.data2,″=″,c);else:
print(″分母不能为0″)
#创建实例:
my_operator=operator(2,6,″*″)
my_operator.cal()
(1)程序运行后,输出的结果是__________________________________________。
(2)请在程序划线处填入合适的语句。;;;A.抽象数据是指一个数学模型及定义在该模型上的一组操作
B.Python的一个内置类型不是一个抽象数据类型
C.抽象数据类型是一种思想,也是一种技术
D.定义一个抽象数据类型(ADT),目的是要定义一类计算对象,使它们具有某些特定的功能;2.下列选项中属于Python抽象数据类型(ADT)优点的是();;3.下列是一个简单的ADT:;D;4.下列是一个简单的ADT:;D;5.用抽象数据类型实现队列操作的代码如下,请回答下列问题:;defdequeue(self):#出队操作
iflen(self.queue):
__②________________
defsize(self):#测试队列长度
returnlen(self.queue)
q=Queue()
q.enqueue(8)
q.enqueue(9)
q.enqueue(10)
whilenotq.isEmpty():
print(q.dequeue(),end=″″);(1)程序运行后,输出的结果是__________________________________________。
(2)请在程序划线处填入合适的代码。;6.创建一个ADT,实现如下功能:输入一个18位的身份证号码,输出该身份证的人的性别。;实现上述功能的代码如下,请回答下列问题:
classsexpd:
def__init__(self,sfzcode):
self.
您可能关注的文档
- 高中信息技术浙教版(2019)选修1 第六章 课时2 POI数据的组织与应用 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时1 字符串 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时2 队列 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时3 栈 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时1 树与二叉树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时2 二叉树的基本操作 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 验收卷(三) 树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时1 数据结构与算法关系 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时2 迭代与递归 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时3 数据排序 课件.pptx
- 第九章 销售与收款循环审计 .pdf
- 1.9《体积单位间的进率》说课(课件)-2024-2025学年六年级上册数学苏教版.pptx
- 长方体和正方体的体积计算(课件)-2023-2024学年人教版五年级数学下册.pptx
- 第二次月考素养提升卷(5~6单元)(试题)-2024-2025学年五年级数学上册人教版.docx
- 4.表内乘法(一)(乘加、乘减)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 表内乘法(7的乘法口诀)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 吨的认识(课件)-2024-2025学年三年级上册数学人教版.pptx
- 期中检测卷(试题)-2024-2025学年五年级上册语文统编版.docx
- 第七单元《扇形统计图》思维拓展练习(课件)-2024-2025学年六年级上册数学人教版.pptx
- 本文中来自ASME BPE标准委员会的现任委员将一一为您答疑解惑 .pdf
文档评论(0)