数据结构与算法
Goldatch
梦里明明有六趣,觉后空空无大千。
展开
-
后缀表达式
前缀表达式(波兰表达式) 前缀表达式的运算符位于操作数之前 例:(3+4)*5-6 前缀表达式为 - * + 3 4 5 6原创 2020-03-09 18:56:17 · 369 阅读 · 0 评论 -
栈——实现综合计算器(中缀表达式)
栈(stack) 栈是一个先入后出的有序列表。 栈变化的一端是栈顶,不变的一端是栈底。 栈的实现 定义一个top来表示栈顶,初始化为-1 入栈:当有数据入栈,top++,stack[top]=data 出栈:value=stack[top],top- - ...原创 2020-02-27 21:51:46 · 151 阅读 · 0 评论 -
环形链表——约瑟夫问题
问题描述 Josephu问题:设编号为1,2,3…n的n个人围坐成一圈,约定编号为k的人从1开始报数,数到m的那个人出列,他的下一位从1开始报数,数到m那个人又出列,直到所有人都出列为止,由此产生一个出队列编号的序号。 解决方法 创建一个辅助指针helper,指向头指针的前一个节点 当小孩报数的时候,first指针和helper指针向后移 m-1 位 移动后进行出列,先将first指针后...原创 2020-02-08 13:37:07 · 264 阅读 · 0 评论 -
队列
数组模拟队列 队列:顺序存储,可以通过数组和链表进行实现,先进先出 数组队列示意图: 开始时:front(队列头,指向队列头前一个位置)和rear(队列尾)都为-1 入队:尾指针后移,先判断是否为空队列(front == rear为空),当rear=最大队容量MaxSize-1 为满,无非再入队 出队:头指针后移,直到(front==rear为空) 环形队列 上面的那个方法会有很...原创 2020-01-19 22:12:21 · 240 阅读 · 0 评论 -
稀疏数组
为什么要使用系数数组 当有一个数组大部分元素都为0,这样存储这个数组就会消耗很多无用的资源,所以需要用稀疏数组进行储存 处理方式 记录数组一共有几行几列,有多少不同的值 把具体不同的值的元素行列及值记录在小规模的数组中,从而缩小规模 第一行存储这个数组有几行几列,有几个不同的值(例如图中多少个非0的值) 下面用于用存储第几行第几列存储的值为多少 转换思路 二维数组—>稀疏数组...原创 2020-01-16 22:25:06 · 414 阅读 · 0 评论