Python.数据结构(1)
1、数据的基本概念
- 数据:
所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。 - 数据元素:
数据(集合)中的一个“个体”,数据及结构中讨论的基本单位 - 数据项:
数据的不可分割的最小单位。一个数据元素可由若干个数据项组成。 - 数据类型:
在一种程序设计语言中,变量所具有的数据种类。整型、浮点型、字符型等等
2、数据的结构
(1) 逻辑结构
- 在数据结构中,从逻辑上可以将其分为线性结构和非线性结构
- 线性结构:
由一条线从起点穿插到终点,数据元素之间是连续的 - 非线性结构{
- 集合:
结构中的数据元素除了同属于一种类型外,别无其它关系。 - 树形结构:
数据元素之间一对多的关系 - 图状结构或网状结构:
结构中的数据元素之间存在多对多的关系
}
(2)存储结构
- 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。实现应用程序是“逻辑结构”,存储的是“物理结构”。
- 逻辑结构主要是对该结构操作的设定,物理结构是描述数据具体在内存中的存储方式(如:顺序结构、链式结构、索引结构、希哈结构)等。
- 顺序存储结构:
线性表的逻辑顺序和物理顺序总是一致的。便于查找 - 链式存储结构:
线性表的逻辑顺序和物理顺序一般是不同的。 - 索引存储结构:
将数据所在的地址使用关键字标识,将关键字进行有规律的排列,使查找更为高效,但由于索引表需要额外的空间进行存储,因此利用率比较低 - 哈希(或散列)结构:
以关键字Key为自变量,通过一定的函数关系(散列函数或哈希函数),计算出对应的函数值(哈希地址),以这个值作为数据元素的地址,并将数据元素存入到相应地址的存储单元中。查找时再根据要查找的关键字采用同样的函数计算出哈希地址,然后直接到相应的存储单元中去取要找的数据元素即可。