数据结构
sun_jinhang
这个作者很懒,什么都没留下…
展开
-
如何用两个栈实现队列
队列:先进先出栈:先进后出思路:队列是先进先出,栈是先进后出,那么可以用两个栈实现队列的效果,一个栈当作入队列,一个栈当作出队列。1、当入队列时将元素push 进 stack12、当出队列时,将stack1 全部pop,并 push 进 stack23、stack2 pop出的的第一个元素就是第一个入队的元素。4、逆向操作步骤二代码实现:import java.u...原创 2019-03-20 10:19:08 · 172 阅读 · 0 评论 -
二维数组的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。实现代码:public boolean Find(int target,int [][] array) { int i = 0; int j = array.length -1;...原创 2019-03-14 17:59:05 · 94 阅读 · 0 评论 -
求二叉树的最大深度的递归版与非递归版
二叉树的的最大深度遍历非递归版描述:给定一个二叉树,返回二叉树的最大深度思路:利用队列的先进先出思想对二叉树进行层级遍历,每遍历完一层,就将深度+1具体实现:1、首先判断二叉树是否为空,如果为空,直接 return 02、如果不为空,首先将根节点入队,然后对队列进行遍历3、初始化三个变量 depth 深度,count 计数器,nextCount 层级节点数,这里就是利用count和ne...原创 2019-03-25 14:04:14 · 719 阅读 · 0 评论 -
二叉树的前序遍历、中序遍历、后序遍历
二叉树分为根节点、左子节点、右子节点,如下图所示,前序遍历的顺序是 “根左右”,即 ABC,中序遍历的顺序是 “左根右”,即 BAC,后续遍历的顺序是 “左右根”,即 BCA,给定一个二叉树,求三种遍历方式的结果,以下图为例前序遍历(根左右): A B D E F G C H K中序遍历(左根右): D B F E G A C K H后序遍历(左右根):...原创 2019-04-04 15:23:10 · 707 阅读 · 0 评论