
数据结构与算法
文章平均质量分 56
数据结构与算法
_蔚然
北漂少年,fighting
展开
-
(五)数据结构与算法-栈
栈的英文为(stack) 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除 栈图解 栈实现综合计算器(中缀表达式) 思路分析 1.先实现一位数的运算 2.拓原创 2022-06-01 16:56:14 · 341 阅读 · 2 评论 -
(四)数据结构与算法-链表
链表介绍 链表是有序的列表,但是它在内存中存储如下: 链表是以节点的方式来存储 每个节点包含data域,next域:指向下一个节点 如图:发现链表的各个节点不一定是连续存储 链表分带头节点的链表和没有节点的链表,根据实际的需求来确定 单链表(带头节点)逻辑结构示意图如下: 单链表的应用实例 使用带head头的单向链表实现-水浒传英雄排行榜管理 完成对英雄任务的增删改查操作 第一种方法在添加英雄时,直接添加到链表的尾部 第二种方式在添加英雄时,根据排名将英雄插入到指定位置(如果有这个排名,则添加失败原创 2022-01-19 18:15:33 · 217 阅读 · 0 评论 -
(三)数据结构与算法-队列
银行排队案例 队列介绍 队列是一个有序列表,可以用数组或是链表来实现 遵循先入先出原则。即:先存入队列的数据,要先取出。后存入的要后取出 数组模拟队列 队列本身是有序表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量。 因为队列的输出、输入分别从前、后端来处理,因此需要两个变量front及rear分别记录队列的前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变。 数组模拟队列的示意图: 思路分析 当我们将数据存入队列时称原创 2022-01-06 15:18:06 · 492 阅读 · 0 评论 -
(二)数据结构与算法-稀疏数组
先看一个实际的需求 分析问题: 因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据 -> 稀疏数组 稀疏sparsearray数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法是: 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 举例说明 ...原创 2021-12-28 15:32:23 · 318 阅读 · 0 评论 -
(一)数据结构与算法-线性结构和非线性结构
线性结构和非线性结构 数据结构包括:线性结构和非线性结构 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储借故偶和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息 线性结构常见的有:数组、队列、链表和栈 非线性结构 非线性结构包括:二维数组,多维数组,广义表,树结构,图结构 ...原创 2021-12-28 15:21:58 · 384 阅读 · 0 评论