数据结构简介
什么是数据结构
数据结构可以理解为:数据 + 结构。数据是描述客观事物的符号,为程序操控,存储在计算机上,结构包括数据的逻辑结构和存储结构。
数据结构分类
数据结构如果大致划分又可以分为线性结构和非线性结构
线性结构
线性结构即为一对一,并且只有一个开始节点和一个终节点,其他节点只有一个对应的前驱结点和一个后继节点。
非线性结构
非线性结构有3个
1.集合结构
集合元素间没有关系,他们只是由若干元素构成的一个集体,称为集合。
2.树形结构
树的各个元素间存在着一对一或者一对多的对应关系,每个元素存在着一个前驱结点,但是又可以存在一个或者多个后继节点。
3.图
图间存在着一对一和多对多的对应关系,前驱结点和后继节点都是可以任意存在的。
##数据结构的存储
数据结构的存储有4种,顺续存储、链式存储、索引存储、散列(哈希)存储结构。
这里我们主要介绍顺序和链式(别问我为啥不介绍另外两个,另外两个我也不会)
顺序存储结构
顺序结构在计算机中开辟的是一断连续的地址,可以理解为栽农作物的时候我们开的那一个凹槽,初始长度是固定的,然后我们填进去里面的元素就是农作物,可以连续也可以间断(毕竟你坑都挖好了想怎么种还不是随你?)。但是因为其长度是固定的,所以在我们后期添加元素的时候就不是特别方便了,当满了以后我们要添加元素可能就无法添加了,但是查找是很方便的。
链式存储结构
链式结构在计算机中开辟的地址是不连续的,随机的,不连续的地址之间是通过指针来相互链接的,指针就是这些地址之间的桥梁链式结构的优点和顺序结构刚好相反,他易于删除添加,但是不利于查找,而且空间利用率是较低的。