学习笔记,仅供参考,有错必纠



文章目录




算法与数据结构–基于python



数据结构



什么是数据结构



我们为了解决问题,需要将数据保存下来,然后根据数据的存储方式来设计算法,数据的存储方式不同,会导致我们需要用不同的算法进行处理数据。我们希望算法解决问题的效率越快越好,于是我们就需要考虑数据究竟如何保存的问题,这就是数据结构。

如果说算法是一种解决问题的思路,那么数据结构就是思路的载体



数据结构的概念



数据是一个抽象的概念,将其进行分类后得到程序设计语言中的基本类型。如:int,float,char等。数据元素之间不是独立的,它们存在特定的关系,这些关系便是结构。数据结构指数据对象中数据元素之间的关系。

Python给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做Python的内置数据结构,比如列表、元组、字典而有些数据组织方式,Python系统里面没有直接定义,需要我们自己去定义实现这些数据的组织方式,这些数据组织方式称之为Python的扩展数据结构,比如栈,队列等。



抽象数据类型(ADT)



抽象数据类型的含义是指一个数学模型以及定义在此数学模型上的一组操作。即把数据类型和数据类型上的运算捆在一起,进行封装。抽象数据类型也是一种数据类型,只不过是一种经过封装的数据类型,就像python中的列表,就是一种抽象数据类型。

最常用的五种数据运算:插入、删除、修改、查找、排序.



  • 举个例子

比如说,我们定义一个工具类MyTools:

class MyTools:
def add():
pass
def delete():
pass
def sort():
pass

这时,我们就可以把这个自定义类看做一个抽象数据类型

如果有一天,某人要我们定义一个ADT,其实就是要我们写一个自定义类。