数据结构
Shannon076
这个作者很懒,什么都没留下…
展开
-
数据结构——二叉树常见操作
在本文中主要对二叉树的常用算法进行分析。主要包括以下几种算法。 先序遍历(递归&非递归) 中序遍历(递归&非递归) 后序遍历(递归&非递归) 层序遍历 求树高(递归&非递归) 求所有祖先节点(后序遍历) 求两个节点的最近公共祖先节点(利用后序遍历 & 分治法) 代码都整理在github上。https:/原创 2018-07-12 08:58:26 · 200 阅读 · 0 评论 -
二叉树的重建——根据先序遍历和中序遍历序列
直接上代码 /** * 根据先序遍历和中序遍历序列重建二叉树 * @param pre * @param in * @return */ public TreeImpl reConstructBinaryTree(int[] pre, int[] in){ TreeNode root = reConstructHand...原创 2018-07-12 18:40:38 · 327 阅读 · 0 评论 -
[剑指offer]二叉树的下一个节点
/* public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; TreeLinkNode next = null; TreeLinkNode(int val) { this.val = val; } } */ publ...原创 2018-07-24 15:50:12 · 199 阅读 · 0 评论 -
【剑指offer】二叉树中和为某一值的路径
题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 分析...原创 2018-07-15 21:50:41 · 191 阅读 · 0 评论 -
【剑指offer】两个栈实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 代码实现原创 2018-07-15 21:54:51 · 136 阅读 · 0 评论 -
A*算法学习——BFS最短路径
背景说明 对地图进行建模,用二维的数组来对地图进行抽象表示。0表示障碍物,start-point和end-point可以自己指定。 代码如下 package graph; import java.util.LinkedList; import java.util.Queue; public class SimplestBFS implements PathSearcher{ clas...原创 2019-04-04 14:00:22 · 442 阅读 · 0 评论 -
二叉搜索树实现【Java】
实现二叉搜索树的一些算法,主要包括: 构建 查找 插入 删除 最大/最小值 前驱/后继 节点数据结构定义 final static class TreeNode<E extends Comparable>{ E element; TreeNode parent; TreeNode left; TreeNode righ...原创 2019-04-05 15:13:38 · 266 阅读 · 0 评论