【数据结构】栈, 队列, 数组,链表

目录

1、数据结构概述

2、常用的数据结构

2.1 栈

 2.2 队列

  2.3 数组

  2.4 链表

 3、总结


1、数据结构概述

(1)数据结构是什么?

        数据结构是计算机底层存储,组织数据的方式,是指数据之间相互以什么方式排列在一起。数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。一般情况下,精心选择的数据结构可以带来更高的运行或者是存储效率。

(2)我们需要掌握哪些内容?

  • 每种数据结构长什么样子?
  • 怎么添加数据?
  • 怎么删除数据?

2、常用的数据结构

 常用的数据结构主要有 栈, 队列, 数组,链表, 二叉树, 二叉查找树, 平衡二叉树, 红黑树。今天主要学习前四种,后面的等学到再进行补充。

2.1 栈

栈:

  • 先进的元素A我们称为栈底元素,后进来的D我们称为栈顶元素。数据进入栈的过程我们称为进栈/压栈,数据从栈出来的过程称为出栈/弹栈
  • 特点:先进后出,后进先出。 

 2.2 队列

队列框架图

  2.3 数组

  •  创建一个数组,则在空间中开辟一块连续的空间,空间有地址值比如0x0011。
  •  查询元素速度快:通过地址值找到数组,通过索引定位来查询元素。因此查询任意数据耗时都是相同的;
  •  删除元素效率低:通过索引删除元素,同时要将后面的每个元素前移,所以比较慢;
  •  添加元素效率低:需要先要将添加位置索引后的每个元素后移,再在要添加元素的索引位置添加。

  2.4 链表

         链表的结点是独立存在的对象,在内存中是不连续的,每个结点都包含数据值和指向下一个结点的地址值。(每个结点的地址值都不是连续的)

(1)链表的每个结点代表的含义:

 (2)链表的创建过程(这里指单链表):

有一个头结点,存储自身值和指向下一个结点的地址比如0x0011,下一个结点存储自身数据B,和下一个结点的地址比如0x0039,第3个结点是尾结点,存储自身的数据D。可以看出,结点的空间地址值都是不连续的。

(3)链表的查询比较慢:查询的时候都得从头开始一个一个找。

(4)链表的增删比较快 

情况1:链表增加结点

在BD之间增加一个数据C:首先创建一个结点,地址值为0x0056,保存数据值C。只需要将数据B的地址值存储为新增加的结点C的地址值,再将数据C存储的地址值指向下一个数据D即可。因此增加效率很高。 

  情况2:链表删除元素

删除BD之间的数据C:将数据B对应的下一个数据地址值指向数据D,然后将数据C删除。 

 3、总结

  • 栈:    先进后出,后进先出;
  • 队列:先进先出,后进后出;
  • 数组:开辟的内存是一块连续的区域;查询快,增删慢
  • 链表:元素是离散的;查询慢,但是在首尾操作还是很快的;增删快。

好啦,今天简单认识了四种数据结构,打工人又要去搬砖啦~明天再继续~~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值