数据结构
文章平均质量分 53
飞飞学Java
这个作者很懒,什么都没留下…
展开
-
学习 二叉树(1) 遍历递归非递归
先构建一个树 public class TreeNode { public Object data; public TreeNode left; public TreeNode right; private void display(){ System.out.println("data"+data); } public ...原创 2018-09-25 23:21:34 · 146 阅读 · 1 评论 -
图(1)
图 :表示多对多的关系 包含: 一组顶点V 表示顶点的集合,一组边E 表示边的集合 (v,w)无向边 <v,w> 有向边 三要素: 1.图,2.G(V,E)是由一个非空的有限顶点集合V和一个有限边集合E组成 必须有一个顶点 3.操作集 常见术语:所有边无方向的 是无向图 有向的 有向图 怎么在程序中表示一个图? 1.邻接矩阵...原创 2018-10-01 19:41:28 · 407 阅读 · 0 评论 -
学习二叉树(2) 搜索二叉树
二叉搜索树的查找操作Find、 /* 查找某个节点,我们必须从根节点开始遍历。 ①、查找值比当前节点值大,则搜索右子树; ②、查找值等于当前节点值,停止搜索(终止条件); ③、查找值小于当前节点值,则搜索左子树; */ public TreeNode Find(int data,TreeNode bst){ if (bs...原创 2018-09-26 23:19:45 · 578 阅读 · 0 评论 -
简易计算器 栈应用 尾递归
模拟简单计算器 public class CalSuffix { private MyIntStack stack; private String input; public CalSuffix(String input){ this.input=input; int length=input.length(); sta...原创 2018-10-04 17:44:49 · 139 阅读 · 0 评论 -
学习二叉树(3) 平衡二叉树 堆
设计良好的数据结构可以有效的提高查找效率,降低查找次数 平衡因子 (Balance Factor,Bf) BF(T)=hl-hr; hl,hr分别为左右子树的高度 平衡二叉查找树(Balance Binary Tree) (AVL树) |BF|<=1 设nh高度为h的平衡二叉树的最少结点数。节点数最少时 nh=nh-1+nh-2+1 斐波那契数列 nh=Fh...原创 2018-09-29 16:47:26 · 597 阅读 · 0 评论 -
算法第二章
1.排序类算法模板 快速排序是最快的通用排序算法 java对于原始数据类型使用快速排序 引用类型使用归并排序 /* 如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为稳定的 插入排序 归并排序 选择排序 希尔排序 快速排序 堆排序 为不稳定的 堆排序的比较次数是归并排序的两倍 ,两者访问数组的次数都比快速排序多的多 归并...原创 2018-10-31 11:16:40 · 174 阅读 · 0 评论 -
红黑树
红黑树(RBT)定义 1.是一个二叉搜索树 2.每个节点要么是红的,要么是黑的 3.根节点是黑色的,并定义null 为 黑色 4.如果一个子结点是红色的,那么它的两个儿子都是黑色,且父节点也是黑色 5.对于任意一个结点而言,它到叶节点的每一条路径都包含相同数目的的黑色结点,称之为黑高 6.任意一棵以黑色节点为根的子树也必定是一颗红黑树 7.左右子树的高度最多是左右子树的两倍,则:若H...原创 2018-11-03 09:52:26 · 153 阅读 · 0 评论