今天发博留个坑!数据结构和C++学习有些盲目,需要总结一下方法!
数据结构的概念
————————————————————————————————————————————————————————————————————————————
数据结构定义:
数据结构:数据结构指互相之间存在一种或多种关系的数据元素集合。
数据元素:数据的基本单位(又称元素、节点、顶点、记录等),可由若干个数据项组成。
数据项:分为原子项(性别的男女不能再分)和组合项(不同学生的成绩:物化生 史地政)。
如果不懂得话,点这里你懂的!
————————————————————————————————————————————————————————————————————————————
数据结构分类:
集合结构:
所有元素都属于一个集合。都是数据集合(真TM的废话)。
线性结构:
元素之间一对一的关系(天对地、雨对风、大陆对长空、雷隐隐、雾蒙蒙、山花对海树,赤日对苍穹。。。)。
树形结构:
元素之间一对多的关系 (春天来了,又到了万物复苏的季节,随着湿润季节的来临,万物开始骚动。嗯就是这种对应关系)。
图形结构:
元素之间存在着多对多的关系,树形结构也叫网状结构(雷雨结构)。
————————————————————————————————————————————————————————————————————————————
数据机构研究重点:
数据的逻辑结构
描述数据元素之间逻辑关系,分为:线性和非线性。
空(男人、女人、第三性别 )认识面要广,以前考试总要想到的零!要推广!
线性:
一个首节点,一个尾节点(线性表、栈、队列、串)。
非线性:
一个前驱,多个后继(数组、广义表、树、图)。
数据的存储结构
同一逻辑结构用不同的存储方法,可以得到不同的存储结构(捷安特、美利达不同自行车山地公路性能不一样!一个牌子的不同系列也不一样!)。
顺序存储:
节点间的逻辑关系由单元间的邻接关系体现(也称紧凑结构)。
链式存储:
节点间的逻辑关系由指针表示(借助指示元素存储地址的指针表示数据元素之间的逻辑关系)。
索引存储:
所有的存储结点存放在一个区域。另设置一个索引区域存储结点之间的关系(索引存储,分别存放数据元素和元素间关系的存储方式)。
散列存储:
数据元素存放在一块连续的存储区域中。数据元素的存放位置是通过一个哈希函数计算而得的。哈希函数将数据元素作为自变量,计算得到的函数值是数据元素的存储地址(索引存储的延伸)。
数据的操作
引用操作(查找等不改变数据节点)加工型操作(增删改查引起结构改变)。
————————————————————————————————————————————————————————————————————————————