各种排序算法总结已经介绍了几种能在O(n*log(n))时间内培训n个数的算法。归并排序和堆排序达到了最坏情况下的上界;快速排序在平均情况下达到该上界。这些算法都有一个有趣的性质:在排序的最终结果中,各元素的次序依赖于它们之间的比较。这类算法为比较算法,还有一类算法是线性时间复杂度的排序算法,有计数 ...
分类:
编程语言 时间:
2016-06-19 15:33:42
阅读次数:
181
1. 概述 红黑树(Red Black Tree) 是一种自平衡二叉查找树,红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。2. 性质 红黑树是每个节点都带有颜色属性的二叉查找树,颜...
分类:
其他好文 时间:
2016-06-12 16:57:51
阅读次数:
195
1. AVL树 AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。 节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。带有平衡因子1、0或 -1的节点被认为是平衡的。带有平衡因子 -2或2的节点被认为是不平衡的,并需要重新平衡这个树。平衡因子可以...
分类:
其他好文 时间:
2016-06-12 16:55:00
阅读次数:
177
红黑树是平衡树的一种,保证最坏情况下操作时间复杂度为O(lgo(n))。红黑树的应用比较广泛,比如作为C++中STL的set和map的底层数据结构,Java集合中TreeSet和TreeMap的底层数据结构等。学习红黑树,可以把二叉查找树作为参考,这样有助于加深理解。红黑树的操作主要包括节点旋转、插 ...
分类:
其他好文 时间:
2016-05-31 22:10:50
阅读次数:
236
原题请戳这里 题意: 给出n个不同的数,按照给出的顺序构造二叉排序树BST,第1个数为根节点。输出2-n个 节点的父亲节点。 分析: 二叉排序树的平均复杂度是log2n,最坏情况下变成线性的,复杂度为n。 对n个节点的插入操作如果用结构体指针的写法最坏情况下为n2=1010,这样会超时。 开始没有注 ...
分类:
其他好文 时间:
2016-05-28 20:39:07
阅读次数:
125
九大基础排序算法小结
一直想做份总结,总是抽不出时间,趁着周末闲着直接用了一整天做一份,一些内容参考了网上的一些博主的总结,还有网络上的一些图片。
好了,接下来就看看内容吧!
排序算法:
排序方法
时间复杂度
空间复杂度
稳定性
选用情况
平均情况
最坏情况
最好情况
...
分类:
编程语言 时间:
2016-05-21 17:43:59
阅读次数:
250
Tree Construction Problem's Link Mean: 给定n个数,按照构造Binary Search Tree的方式来构造BST树,按顺序输出每一个非root结点的父节点的值。 analyse: 构造BST树最坏情况下时间复杂度为O(n),肯定会超时。 注意到只需要输出结点的 ...
分类:
其他好文 时间:
2016-05-20 18:59:19
阅读次数:
190
JAVA当中有以下几种常见排序算法:插入排序(直接插入排序、链表插入排序、分段/二分/折半插入排序、希尔排序/缩小增量排序)、冒泡排序、快速排序、简单选择排序、归并排序、二叉树排序、基数排序等。
(1)复杂度比较
表1 几种常见排序算法的复杂度
算法名称
平均情况
最好情况
最坏情况
辅助空间
直接...
分类:
编程语言 时间:
2016-05-18 19:48:41
阅读次数:
240
1. 何为博弈
博弈即根据他人预期的互动决策。
基本要素有:参与者、行动备选项、以及收益
2. 博弈行为推理
基本假设有:个人利益最大化,对于博弈结构有了解
在这之中,博弈有多种类型,其中博弈情景的设置起到了重要的影响,而且参与者的交互程度也有很重要的影响。
经典的例子当属囚徒困境,囚徒困境的关键是无交流,只求最坏情况最好,不求最好情况。
3. 最...
分类:
其他好文 时间:
2016-05-13 02:42:09
阅读次数:
174
排序在各次面试的过程中问道的次数不少,冒泡排序和快速排序尤多。因此做一些总结,尤其是代码部分。
1. 冒泡排序
(1)思想
在一组数中,对当前未排好序的数,自上而下地对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的数往上冒。
(2)复杂度
平均情况-O(n^2)
最坏情况-O(n^2)(逆序有序)
最好情况-O(n)(正序有序)
空间复杂度-O(1)
(3)稳定...
分类:
编程语言 时间:
2016-05-13 01:14:13
阅读次数:
275