算法
文章平均质量分 91
superxlcr
一名 Android 和 Java 的编程爱好者~
展开
-
算法二叉搜索树之AVL树
最近学习了二叉搜索树中的AVL树,特在此写一篇博客小结。1.引言对于二叉搜索树而言,其插入查找删除等性能直接和树的高度有关,因此我们发明了平衡二叉搜索树。在计算机科学中,AVL树是最先发明的自平衡二叉搜索树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。对于N个节点的AVL树,由于树高被限制为lgN,因此其插入查找删除操作耗时为O(lgN)。2原创 2016-03-26 09:57:21 · 488 阅读 · 0 评论 -
KMP算法小结
最近看了一些关于KMP算法的资料,在此写一篇博客总计一下。1.KMP算法介绍KMP算法是一种字符串搜索的改进算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。举个例子:有两个字符串,我们要在第一个字符原创 2016-04-03 21:21:34 · 405 阅读 · 0 评论 -
算法导论之红黑树的学习
最近学习了二叉搜索树中的红黑树,感觉收获颇丰,在此写一篇文章小结一下学到的知识,顺便手写一下Java代码。1.引言先来讲讲什么是二叉搜索树,二叉搜索树有如下特点:他是以一颗二叉树(最多有两个子结点)来组织的,对于树中的某个节点,其左子树的所有元素均小于该节点,其右子树的元素均大于该节点。我们知道一颗有N个节点的二叉树的高度至少为lgN,然后在树上的操作都与其高度有关,因此限制树的高原创 2016-03-22 10:06:46 · 605 阅读 · 0 评论 -
算法导轮之B树的学习
最近学习了算法导轮里B树相关的知识,在此写一篇博客作为总结。1.引言B树是为磁盘或其他直接存取的辅助存储设备而设计的一种平衡搜索树。B树类似于红黑树,但它与红黑树最大不同之处在于B树的节点可以拥有很多孩子,因此B树的高度会比红黑树小很多,也因此B树在磁盘I/O方面表现要比红黑树好。(对于磁盘操作最耗时的部分在于磁盘读写,而每次读取一个新的树的节点就必须进行一次磁盘读取,因此节点较大原创 2016-04-06 12:44:50 · 1957 阅读 · 0 评论 -
算法导论小结(一)
排序:1.插入排序 2.冒泡排序 3.归并排序 4.堆排序 5.快速排序原创 2016-03-10 22:41:27 · 831 阅读 · 0 评论