讲到这儿,就必须要说一句了,数据结构的目的,最终就是为了更好更容易的处理数据,也因此,我们知道,数据结构(逻辑结构和物理结构)往往不是孤立的,而是和算法和索引技术息息相关的。
逻辑数据结构的种类有很多,比如说有集合结构,树形结构,图形结构,线性结构等等,这些不同的结构,在不同的应用场景下,产生着巨大的作用,比较经典的例如mysql数据库存储就采用了树形结构,java做数据处理的时候,经常采用集合结构等等。
这些数据结构,组成了计算机世界的绚丽多姿,但是与此同时,虽然已然简化了一部分数据之间的繁乱,但是仍然有着一定的门槛在阻挡着我们去认知它。
接下来,我们来一个一个地了解这些逻辑数据结构吧。
1.集合结构
======
集合结构,这个数据结构是指这个结构内的所有数据元素,唯一的特性是除了同属于一个集合,之外再也没有任何关系了。
比如说java中比较常见的List集合,我们使用这个集合,并且往这个集合中填充元素的时候,不必去关心这些元素之间有什么关系,而是只需要将这些元素存储到集合中就行,这就是典型的集合结构。
2.线性结构
======
一般来说,大部分数据结构都是线性结构,因此也有一种划分方法是将逻辑结构分为线性结构和非线性结构。
线性结构,是数据结构中的元素存在一对一的相互关系。一般来说,线性结构可以分为一般线性表,受限线性表(栈,队列,堆,串),推广线性表(一维数组,广义表)。
线性结构有唯一的首位,并且每个数据的上线衔接是唯一的。
线性表在不同的存储结构下体现不同,顺序存储结构下,体现为顺序表,链表存储结构下,单向链表,双向链表等都是线性表。
3.树形结构
======
数据结构中的元素存在一对多的相互关系;
树结构是一类重要的非线性数据结构,其中以二叉树最为常用,树是以为分支关系定义的层次结构,它为计算机应用中出现的具有层次关系或者分支关系的数据提供了一种自然的表示方法,用树结构描述的信息模型在客观世界普遍存在。
树形结构一般分为一般树和二叉树。
4.图形结构
======
数据结构中的元素存在多对多的相互关系。
图状结构有可以分为有向图和无向图,二元决策图。
总结:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
以戳我获取!!**](https://bbs.csdn.net/topics/618164986)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!