数据结构
wangyangmingtian
这个作者很懒,什么都没留下…
展开
-
数据结构——二叉树
import java.util.Stack;/** * 二叉树的构建 */public class BinaryTree { private TreeNode root=null; /*二叉树的构造函数根节点为A*/ public BinaryTree(){ root=new TreeNode(1,"A"); } /** ...原创 2018-08-22 20:41:07 · 135 阅读 · 0 评论 -
构建查找二叉树
查找二叉树的特点是根节点的左孩子都小于根节点,右孩子都大于根节点,可以联想到二分查找。构造查找二叉树的Java实现如下:public class SearchBinaryTree { private TreeNode root; public class TreeNode{ private int key; private int data...原创 2018-08-23 14:28:06 · 959 阅读 · 0 评论 -
根据前序序列创建二叉树
给定一个前序序列数组,将该数组转化为二叉树,本文实现如果节点没有左右孩子则用“#”代替,具体核心Java代码实现如下:/** * 根据前序序列创建二叉树 */public void createBinaryTreePre(ArrayList<String> data){ createBinaryTreePre(data.size(),data);}privat...原创 2018-08-23 14:34:27 · 5790 阅读 · 0 评论 -
查找二叉树中删除指定节点
删除二叉树中的指定节点可分为几种情况:(1)若指定节点即无左孩子,也无右孩子,则可直接删除节点(2)若指定节点左孩子为空,含有右孩子,则将其右孩子代替要删除的节点(3)若指定节点右孩子为空,含有左孩子,则将其左孩子代替要删除的节点(4)若指定节点既有左孩子,又有右孩子,分为:1.右孩子非空情况下,只需查找到其右子树的最小节点代替要删除的节点,2.若右孩子非空,则应找到该节点在全树的...原创 2018-08-23 21:24:35 · 5608 阅读 · 0 评论 -
关于图的构造,图的遍历
本代码是用Java实现了关于图的一些方法,其中包含了图的深度优先遍历,广度优先遍历,图中各顶点的出度,入度计算。具体代码实现如下所示:import java.util.LinkedList;public class Graph { private int verTexSize;//顶点数量 private int[] verTex;//顶点数组 private i...原创 2018-08-24 19:23:44 · 587 阅读 · 0 评论 -
浅谈红黑树
红黑树的特点: 1.根节点为黑色 2.节点不会出现连续的红色 3.对于每个节点,从该节点到其后代叶节点的简单路径上,均包含相同数目的黑色节点 4.最长路径的长度不超过最短路径长度的2倍红黑树的插入操作: 1.若根节点为null,直接插入节点,并将颜色置为黑色 2.若根节点不为null,找到插入新节点...原创 2018-12-23 11:16:56 · 186 阅读 · 0 评论