常用数据结构的理解

常用数据结构的理解

首先,什么是数据结构?即人们抽象出来的描述现实世界实体的数学模型(非数值计算)及其上的操作(运算),在计算机上的表示和实现。按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合。

相关文章

  1. Java集合框架List,Map,Set等全面介绍
  2. Java堆栈的区别

常用的数据结构

  1. 数组: 把相同类型的变量按一定顺序组织起来的数据结构
  2. 队列: 一种链表结构,它要求在表的前端删除,在表的末端 插入。
    1. 就像排队取餐,前面的取餐后可以离开,后面的得排队等待取餐。
    2. 它按照先进先出、后进后出的原则,当队列中没有数据称为空队列。
  3. 链表: 链表是物理储存单元上非连续、非顺序的储存结构,既可以表示为线性结构,也可以 表示 为非线性结构。它由一系列节点组成,在链表中每一个元素称为节点。每个节点包含两部分,一个是存储元素数据的数据域,一个是下一个节点的指针域。
    1. 正因如此,链表的插入和删除是很方便的。只需要修改节点的指针
  4. 树: 树是一种非线性结构,由n(n>0)个有限节点组成有层次关系的集合。
    1. 二叉树: 每个节点最多含有两个子树
    2. 完全二叉树:除了最外层的节点,其他各层节点都达到了最大数
  5. 图: 一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。
    1. 无向图邻接矩阵
    2. 有向图邻接矩阵
  6. 列表
    1. 哈希表(Hash): 它是一种散列表,是一种可以通过Key-Value直接访问的数据结构
  7. 栈: 它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。类似一盒饼干,我们总是先拿出罐子上面的。
  8. 堆:可以看出一个树的数组对象
    1. 堆是一颗完全二叉树
    2. 大顶堆: 某个节点的值不大于父节点的值
    3. 小顶堆: 某个节点的值不小于父节点的值
posted @ 2023-03-08 16:22  Ysun_top  阅读(12)  评论(0编辑  收藏  举报