
数据结构与算法
凌兮~
技术是一种艺术,需要我们去发现
展开
-
红黑树
首先我们先了解下二叉查找树(BST):二叉查找树:左子树上所有的节点值均小于或等于它的根节点的值右子树上所有的节点的值大于或等于它的根节点的值左右子树也一定分别为二叉排序树但是二叉查找树,它有没有什么缺点呢?例如,当数据不合理,那么存储在二叉查找树中的值,左右子树,不是左子树特别长就是右子树特别长,这样当去查找一个节点值,二叉查找树几乎变成了线性查找了。那查找性能就会大打折扣了,...原创 2019-09-06 14:50:32 · 93 阅读 · 0 评论 -
哈夫曼树
哈夫曼树1. 哈夫曼树也称最优二叉树叶子节点的权值是对叶子节点赋予的一个有意义的数值量。设二叉树具有n个带权值的叶子节点,从根节点到各个叶子节点的路径长度与相应叶子节点权值的乘积之和叫做二叉树带权路径长度。给定一组具有确定权值的叶子节点,可以构造不同的二叉树,将其中带权路径长度最小的二叉树称为哈夫曼树。2. 基本思想:初始化:由给定的 n 个权值 {ω1,ω2,⋯,ωn}构造 n 棵只...转载 2019-09-06 12:27:29 · 789 阅读 · 0 评论 -
判断一个二叉树是否是平衡二叉树(java)
==平衡二叉树(AVL):==它又称为AVL树,具有以下性质,它是一棵空树或者它的左右子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。实现判断一个二叉树有两种思路,一种书从根节点出发,遍历左右子树,从上往下,判断左右子树的高度差是否大于1,如果大于1,则返回false,反之返回true,一种是从下往上遍历,判断左右子树的高度差是否大于1,如果大于1,则返回false,反之返回...原创 2019-09-06 11:50:35 · 2673 阅读 · 6 评论 -
数据结构与算法
第一章 数据结构与算法一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求二.算法的复杂度1.算...转载 2019-08-15 15:58:29 · 1216 阅读 · 0 评论