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

2023-05-16

一、队列

队列,顾名思义,就像排队一样,我们只能在队首删除,在队尾增加。队列是一种先进先出(FIFO)的数据结构。队列的存储方式可以使用线性表进行存储,也可以使用链表进行存储。

二、栈

栈,可以理解为一个储物的地方,且只有一个出口,先放进去的东西最后才能拿出来(因为被后面放进去的东西挡住了)。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出(FILO)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

三、链表

链表是一种物理存储单元上非连续、非顺序的存储方式,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数据结构】栈,队列,链表 的相关文章

随机推荐

  • 【目录】Yocto学习记录

    Yocto 学习记录 xff08 1 xff09 理论知识 Yocto 学习记录 xff08 2 xff09 资源资料 Yocto 学习记录 xff08 3 xff09 实际操作
  • 【Buildroot】学习记录(2)配置注释

    文章目录 一 前言二 Buildroot目录结构三 Buildroot配置选项四 Target options 目标选项 五 Build options 编译选项 六 Toolchain 工具链 七 System configuration
  • oracle alter table详解

    建测试表 create table dept deptno number 3 primary key dname varchar2 10 loc varchar2 13 create table employee info empno nu
  • 【目录】音视频开发笔记

    音视频开发 基础知识 xff1a 音频基础 音视频开发 基础知识 xff1a 视频简介 音视频开发 基础知识 xff1a 视频封装格式和编码格式 音视频开发 基础知识 xff08 1 xff09 音视频开发 基础知识 xff08 2 xff
  • 串口通信之(一)获取传感器数据(modbus rtu master)

    一天领导拿了几个传感器设备丢给我 xff0c 给我把这些数据取到 我一看 xff0c 好家伙 这是要搞硬件了啊 那就搞他丫的 可是 xff0c 怎么搞是个问题 我是一头雾水 还好 xff0c 和传感器丢给我的 xff0c 还有传感器厂家一起
  • 小觅深度版-realsense系列,深度相机对比

    本文为CSDN原创文章 xff0c 转载请注明出处 本文为CSDN原创文章 xff0c 转载请注明出处 本文对比了目前小觅生产的深度版 xff08 120 xff09 相机 Realsense D435以及 Realsense ZR300
  • VIO单目评测算法:A Benchmark Comparison of Monocular Visual-Inertial Odometry Algorithms for Flying Robots

    A Benchmark Comparison of Monocular Visual Inertial Odometry Algorithms for Flying Robots 飞行器单目VIO算法测评 算法方面总结 xff1a MSCK
  • LVM调整home剩余空间到root分区

    注意 xff1a 1 此方法为LVM逻辑卷调整 xff0c 请确认是否为逻辑卷分区 xff0c 且文件系统格式为ext4或者xfs 2 减少home分区会将home分区格式化 xff0c 请先备份home分区 xff0c 但是放心增加的ro
  • git clone 指定某个分支而不是整个版本仓库

    最近在搭建Gitblit内网仓库时发现一个问题 xff0c git clone 只能clone整个仓库 xff0c 但是如果我只需要仓库里面的某一个分支 xff0c 这时还需要clone整个仓库就很头疼 xff0c 下面用这个命令就可实现c
  • 十九、I2C驱动及应用

    一 概述 1 Linux主机驱动和外设驱动分离思想 外设驱动 API 主机驱动 板级逻辑 具体的i2c设备 xff08 camera xff0c ts xff0c eeprom等等 xff09 主机驱动 xff1a 根据控制器硬件手册 xf
  • 内核驱动的本质——模块

    内核驱动的本质 模块 在Linux中 xff0c 驱动的本质就是一个模块 模块可以被选择 静态编译 或 模块化编译 1 静态编译 xff1a 链接入内核镜像 xff0c 默认永远被加载 2 模块化编译 xff1a 需要在内核运行时动态加载
  • 【STM32知识点】关于串口接收中断(回调函数)

    串口使用流程 xff1a 1 初始化串口 2 使能中断 xff08 在非阻塞模式下接收一定量的数据 xff09 HAL UART Receive IT UART HandleTypeDef huart uint8 t pData uint1
  • 最近看书少了,以后要多看书

    最近两周的oracle学习都是围绕csdn上oracle板块中遇到的问题 xff1b 看书少了 xff0c 遇到不懂的知识 xff0c 查询书籍 xff0c 查询网络的次数多了 xff1b 于是与电脑一起度过的时间 xff0c 占了大约9
  • 【STM32Cube HAL】定时器中断(四)

    实验内容 xff1a 使用基本定时器 xff0c 实现LED灯以1S间隔进行亮灭切换 一 原理图 二 CubeMX配置 Step1 打开 STM32CubeMX xff0c 点击 New Project xff0c 选择芯片型号 xff0c
  • 【STM32Cube HAL】输入捕获(六)——PWM测量

    对于PWM的捕获 xff0c 我这里一共使用两种方法实现 xff1a 第一种是PWM输入模式 xff0c 采用一个定时器的两个通道 xff08 通道一和通道二 xff09 xff0c 配置从模式为复位模式 xff0c 没有进行溢出处理 xf
  • 【STM32知识点】关于不同外设中断标志位清除的使用笔记(更新中)

    在使用中断函数的时候 xff0c 我们往往忘记在中断服务函数内清除中断标志位而导致一些未知错误 以下我总结了几个外设关于中断标志位的清除问题 定时器 xff1a 1 在程序有使用到中断的情况下 xff0c 定时器在使能之前需要先清除更新中断
  • 【FreeRTOS 应用开发笔记】软件定时器(九)

    一 软件定时器的基本概念 1 硬件定时器和软件定时器的主要区别 定时器 xff0c 是指从指定的时刻开始 xff0c 经过一个指定时间 xff0c 然后触发一个超时事件 xff0c 用户可以自定义定时器的周期与频率 硬件定时器 xff1a
  • 【STM32知识点】STM32基础知识总结

    目录 认识STM32 GPIO外设 一 GPIO的八种工作模式 二 总结在STM32中选用IO模式 RCC时钟 NVIC是嵌套向量中断控制器 一 优先级定义 二 优先级分组 EXTI外部中断 事件控制器 SysTick系统定时器 通讯的基本
  • 【数据结构】排序

    本文主要选取了桶排序 xff0c 冒泡排序 xff0c 以及快速排序 当然还有其他几种 xff0c 可以根据需要进行学习 一 桶排序 1 什么是桶排序 xff1f 桶排序是计数排序的升级版 它利用了函数的映射关系 xff0c 高效与否的关键
  • 【数据结构】栈,队列,链表

    一 队列 队列 xff0c 顾名思义 xff0c 就像排队一样 xff0c 我们只能在队首删除 xff0c 在队尾增加 队列是一种先进先出 xff08 FIFO xff09 的数据结构 队列的存储方式可以使用线性表进行存储 xff0c 也可