
数据结构
文章平均质量分 79
鱼塘coding
学习笔记,资料整合
展开
-
链栈-表达式求值问题
表达式求值问题规则:仅讨论含有加,减,乘,除4种运算符+界限符()+单位数中缀表达式运算规则:(1)先乘除,后加减(2)从左向右计算(3)先括号内,再括号外栈1---optr ---运算符栈2---opnd ---操作数或者运算结果以##作为表达式开始和结束的标志算法步骤(1)初始化optr和opnd栈,将表达式起始符#压入optr栈(2)扫描表达式,读入第一个字符ch,如果表达式没有扫描完毕(未读入#)(即栈顶元素不为#时) 循环...原创 2021-03-30 16:51:49 · 899 阅读 · 0 评论 -
链表-单链表存储逆序
单链表逆序存储不带头结点的单链表逆序1算法步骤(1)整表创建//不带头结点的(2)元素顺序查询(3)倒置·空链表:无需倒置·单元素链表:无需倒置·元素>=2:倒置算法 当p2!=null时: 循环执行 (1)结点指针tmp备份p2结点地址 (2)p2向后偏移一个结点 (3)头插法:插入tmp到p1前 tmp->next=p1; ...原创 2021-03-30 16:43:58 · 1743 阅读 · 0 评论 -
球钟问题
球钟问题问题描述:球钟是利用球的移动来记录时间的装置。它有三个可以容纳若干个球的容器:分钟指示器,五分钟指示器,小时指示器。若分钟指示器中有2个球,5分钟指示器中有3个球,小时指示器中有4个球,则时间为4:17。每过一分钟,球钟就会从球队列(先进先出)的队首取出一个球放入分钟指示器,分钟指示器最多可容纳4个球。在放进去第五个球的时候,分钟指示器内的4个球就会按照他们被放入时的相反顺序加入球队列的队尾(先进后出:栈)。而第五个球就会进入五分钟指示器(五进制)。按此类推,五分钟指示器最多可放原创 2021-03-29 16:41:38 · 546 阅读 · 0 评论 -
数据结构-图
part 8 图(略)假如你要周游中国, 现在在湖北,周边有安徽,江西,湖南,重庆,陕西,河南等城市。你下一步怎么走比较划算?1 图的概念1.1 背景现实生活中,社交,地图导航等多对多的情况。1.2 定义图由顶点和边构成,表示为G(V,E)。G:表示一个图V:是图中顶点的有穷非空集合E:是图G中边的集合顶点:线性表中数据称为元素,树中数据 称为结点,图中数据称为顶点。存在空表,空树,但图结构中,不允许没有顶点边:顶点之间的逻辑关系,边集可以为空(.原创 2021-03-24 13:39:25 · 546 阅读 · 0 评论 -
数据结构-栈
part 5栈1 概念1.1 现象弹夹式手枪、洗盘子摞盘子、浏览器回退功能、word、画图的撤销操作1.2 特点原理:后进先出(LIFO结构)1 .3 定义栈:限定在表尾进行插入(尾插法)或删除操作的线性表栈顶(表尾)允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。空栈不含任何数据元素的栈。压栈(进栈):栈的插入出栈:栈的删除1.4 逻辑示意图1.5 进栈出栈变化形式最先进栈的只能最后出栈?解析:栈...原创 2021-03-24 13:18:05 · 549 阅读 · 0 评论 -
数据结构-队列
part 6 队列1 定义1.1 现象示例1:窗口排队示例2:(多道程序运行时)电脑处于疑似死机的状态,鼠标点什么似乎都没有用,双击任何快捷方式都不动弹。就当你失去耐心,打算重启时,突然它像酒醒了一样,把你刚才点击的所有操作 全部按照顺序执行了一遍。这是因为操作系统中的多个程序需要通过一个通道输出,而按先后次序排队等待造成的。示例3:比如像移动、联通、电信等客服电话,客服人员相比用户总是少数。在所有的客服人员都占线的情况下,客户会被要求等待,直到某个客服人..原创 2021-03-24 13:11:02 · 424 阅读 · 0 评论 -
数据结构-绪论
day1(上)1.绪论学习对象:研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科学习方法:画图---》理解---》做题1.1 基本概念1.1.1 数据数据:描述客观事物的符号。示例:网页:全部数据的搜索特征:(1)可以输入到计算机中(2)能被计算机处理1.1.2 数据元素数据元素(结点):是组成数据的、有一定意义的基本单位。在计算机中通常作为整体处理。示例:1.1.3 数据项数据项:一个数据...原创 2021-03-24 13:30:24 · 204 阅读 · 0 评论 -
数据结构-顺序表
Part2 顺序表1 概念1.1 线性表零个或多个数据元素的有限序列。元素之间存在顺序,第一个元素无前驱,最后一个元素无后继,其他元素有且仅有一个前驱和后继。1.2 顺序表线性表的顺序存储结构---数组即顺序表:用一组地址连续的存储单元依次存储线性表的数据元素。即:逻辑上相邻的数据元素,其物理次序也是相邻的。2 顺序表实现2.1 数据元素属性(1)存储空间的起始地址:数组名(2)线性表的最大存储容量:数组长度(3)线性表的当前长度:length2.2.原创 2021-03-24 13:27:29 · 2266 阅读 · 0 评论 -
数据结构-线性链表
Part3_线性链表1 概念用一组任意的存储单元存储线性表的数据元素。(存储单元可以是连续的,也可以是不连续的)1.1 特点随机存储,但需要知道后继元素的地址,即线性表的链式存储结构1.2 数据域存储数据元素信息的域称为数据域1.3 指针域存储直接后继位置的域称为指针域1.4 结点这两部分的信息组成数据元素的存储镜像,称为结点(node)1.5 链指针域中存储的信息称做指针或链1.6 链表n个结点链结成一个链表,即为线性表的链式存储结构。1.原创 2021-03-24 13:23:27 · 2063 阅读 · 0 评论 -
数据结构-链表2
part 4 其他链表1 循环链表1.1 概念单向链表:表中最后一个结点的指针域指向空循环链表:表中最后一个结点的指针域指向头结点或者首元结点1.1.1 带头结点的循环链表整表创建源代码修改即可1.1.2 只有头指针的循环链表创建(1)算法步骤(1)定义头指针 *l,尾结点指针p,以及新节点指针s(2)计数器j从1开始(2)循环n次 第一步:申请新节点,给到s 第二步:设置数据域数据 第三步:...原创 2021-03-24 13:20:50 · 357 阅读 · 0 评论