济宁住房和城乡建设厅网站首页,在苏州找学生做家教在哪个网站,网站建设任务平台,国外优秀网页设计欣赏什么是数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
数据元素的三要素
数据结构包括三方面的内容#xff1a;逻辑结构、存储结构、数据的运算。
逻辑结构
逻辑结构是指数据元素之间的逻辑关系#xff0c;即从逻辑关系上描述数据。数据的逻辑结…什么是数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
数据元素的三要素
数据结构包括三方面的内容逻辑结构、存储结构、数据的运算。
逻辑结构
逻辑结构是指数据元素之间的逻辑关系即从逻辑关系上描述数据。数据的逻辑结构分为线性结构和非线性结构例如线性表是线性结构集合、树、图是非线性结构。
存储结构
存储结构是指数据结构在计算机中的表示分为顺序存储、链式存储、索引存储、数列存储。
顺序存储
把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中元素之间的关系由存储单元的邻接关系来体现。 优点可以实现随机存储。 缺点只能使用相邻的一整块存储单元。
链式存储
不要求逻辑上相邻的元素在物理位置上也相邻借助指示元素存储地址的指针来表示元素之间的逻辑关系。 优点不会出现碎片现象能充分利用所有存储单元。 缺点只能实现顺序存储。
索引存储
在存储元素信息的同时还建立附加的索引表。 优点检索速度快。 缺点附加的索引表额外占用存储空间增加和删除数据也需要修改索引表会花费较多时间。
数列存储
根据元素的关键字直接计算出该元素的存储地址。 优点检索、增加和删除结点的操作都很快。 缺点若散列函数不好则可能出现元素存储单元的冲突解决冲突会增加时间和空间开销。
数据的运算
施加在数据上的运算包括运算的定义和实现。运算的定义是针对逻辑结构的指出运算的功能运算的实现是针对存储结构的指出运算的具体操作步骤。
顺序表
线性表的定义
线性表是具有相同数据类型的n(n0)个数据元素的有限序列。 其中唯一的第一个数据元素称为表头元素唯一的最后一个元素称为表尾元素除第一个元素外每个元素有且仅有一个直接前驱除最后一个元素外每个元素有且仅有一个直接后继。
顺序表分类
静态顺序表
typedef int SLDateType;
#define Maxsize 50
typedef struct SeqList
{SLDateType data[Maxsize];int size;
}SL;动态顺序表
typedef int SLDateType;
typedef struct SeqList
{SLDateType* a;int size; int capacity;
};