数据结构和算法分析python数据结构

1.抽象数据类型

2019-04-11  本文已影响1人  那是个好男孩

抽象数据类型(ADT)

ADT是计算机领域被广泛接受的一种思想和方法,也是一种用于设计和实现程序模块的有效技术。


0.数据类型和数据构造
r1 = (3,5)
r2 = (7,10)

def rational_plus(r1,r2):
    num = r1[0]*r2[1] + r2[0]*r1[1]
    den = r1[1]*r2[1]
    return num,den

r3 = rational_plus(r1,r2)
print(r3)

"""
(65, 50)
"""

这样编程perfect吗?进一步考虑,有很多缺陷:(尽管我也不是很明白,反正就有不好)


1.抽象数据类型的概念

数据元素的基本思想是把数据定义为抽象(忽略细节,概括具体事物的特征) 的对象集合,只为它们定义可用的合法操作,并不暴露其内部实现的具体细节,不论是其数据的表示细节还是操作的实现细节

简单来说,一个抽象数据类型定义了:一个数据对象、数据对象中各元素之间的关系、及对数据元素的操作. 一个数据类型的操作通常可分为三类:

构造操作+解析操作 = 不变数据类型(简称不变类型)
构造操作+解析操作+变动操作 = 可变数据类型(简称可变类型)
在python语言中,不变类型:str、tuple、frozenset;可变类型:list、set、dict


2.抽象数据类型的描述

抽象数据类型的描述,其形式体现了抽象数据类型的主要特点

有一个简单的有理数抽象数据类型,有下面描述:

有理数抽象数据类型

那如何描述一个抽象数据类型呢?照猫画虎..

上一篇 下一篇

猜你喜欢

热点阅读