目录
一、数据结构
- 数据结构指数据对象中数据元素之间的关系。
- 计算机只有三种数据类型:int、float、char。在内存中,1个int占4个字节。
1.1 算法与数据结构的区别
- 程序 = 数据结构 + 算法
- 算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体。
- 抽象数据类型(Abstract Data Type):抽象数据类型(ADT)的含义是指一个数学模型以及定义在此数学模型上的一组操作。即把数据类型和数据类型上的运算捆在一起,进行封装。引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。
- 常用的数据运算有五种:插入、删除、修改、查找、排序
二、顺序表
-
线性表:将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。线性表是最基本的数据结构之一,根据线性表的实际存储方式,分为两种实现模型:顺序表、链表。
-
顺序表:将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
-
顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁。