- 博客(11)
- 资源 (4)
- 收藏
- 关注
转载 平衡二叉树(avl树)
平衡二叉查找树,又称 AVL树。 它除了具备二叉查找树的基本特征之外,还具有一个非常重要的特点:它 的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值(平衡因子 ) 不超过1。 也就是说AVL树每个节点的平衡因子只可能是-1、0和1(左子树高度减去右子树高度)。 那么如何是二叉查找树在添加数据的同时保持平衡呢?基本思想就是:当在二叉排序树中插入一个节点时,首先检查是
2015-11-29 23:24:04 469
原创 二叉树删除
二叉树的删除操作伪代码:1.若节点p是叶子,则直接删除节点p;2.若节点p只有左子树,则只需重接p的左子树; 若节点p只有右子树,则只需重接p的右子树;3.若p的左右子树均不空,则 3.1 查找节点p的右子树上最左下节点s以及s的父节点par; 3.2 将节点s的数据域替换到被删节点p的数据域; 3.3 若p的右孩子无左子树,则将s的右子树接到par的右
2015-11-29 17:55:01 1887
转载 二叉树排序
属性:①若它的左子树不为空,则左子树上所有节点的值均小于它的根节点的值。②若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。③它的左、右子树也都是排序二叉树。添加操作当根节点为空时,添加进的节点作为根节点。然后每次添加节点时,都从根节点过滤,以根节点作为当前节点,如果新节点大于当前节点,则走当前节点的右子节点分支,如果新节点小于当前节点,则走当前节点的左子节点
2015-11-24 22:52:47 2371
转载 斐波那契查找(黄金分割法查找)(仅使用加减实现的二分查找)
什么是斐波那契查找 斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、····,在数学上,斐波那契被递归方法如下定义:F(1)=1,F(2)=1,F(n)=f(n-1)+F(n-2) (n>=2)。该数列越往后相邻的两个数的比值越趋向于黄金比例值(0.618)。 斐波那契查找就是在二分查找的基础上根据斐波那契数列进行分割的。在
2015-11-23 23:16:25 12472 7
转载 拓 扑 排 序
http://www.cnblogs.com/newpanderking/archive/2012/10/18/2729552.html
2015-11-22 16:54:02 503
转载 最短路径 Dijkstra(迪杰斯特拉)
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,比如数据结构、图论、运筹学等。 1、算
2015-11-21 23:22:56 910
转载 最小生成树
一个连通图的生成树是一个极小的连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。那么我们把构造连通网的最小代价生成树称为最小生成树。 找连通网的最小生成树,经典的有两种算法,普里姆算法和克鲁斯卡尔算法。下面分别介绍两种算法。一、普里姆(Prim)算法 普里姆算法,图论中的一种算法,可在加权连通图里搜索最小生成树。意即此算法搜索到的边子集所构
2015-11-21 22:53:43 820
原创 图
图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合无向边(Edge),用无序偶对(Vi,Vj)来表示。有向边,也称为弧(Arc),用有序偶来表示,Vi称为弧尾(Tail),Vj称为弧头(Head),图形显示为ucnVi---->Vj。在无向图中,如果任意两个顶点都存在边,则称为
2015-11-21 22:23:09 512
转载 二叉树 面试题
import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Stack; /** * http://blog.csdn.net/
2015-11-04 23:20:00 772
原创 mongodb
1、mongodb常用命令2、创建、更新及删除文档 2.1 增加文档 db.foo.insert({"bar","baz"}) 2.2、删除文档 db.users.remove() 上面只是删除users集合中所有的文档,但不会删除集合本身,原有的索引也会保留 db.mailing.list.remove({"post-out":true}) 删除m
2015-11-04 20:38:53 251
原创 java 线程
sleep 方法sleep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。syield方法leep方法不会释放锁,也就是说如果当前线程持有对某个对象的锁,则即使调用sleep方法,其他线程也无法访问这个对象yield方法调用yield方法会让当前线程交出CPU权限,让CPU去执行其他的线程。它跟sleep方法类似,同样不会释放锁。但是yield不能控制具体的交出
2015-11-04 20:37:18 368
Fedora最新版 Fedora 12基础教程
2010-12-20
Clojure项目问题
2022-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人