这个章节一共介绍了几种数据结构:堆,二叉搜索树,并查集。 第一部分 堆。 堆的实现: 平时我们一般使用stl库中的优先队列来解决问题。 例题:poj 2431 Expedition poj 3614 Sunscreen poj 2010 Moo University - Financial Aid ...
分类:
其他好文 时间:
2016-07-25 00:03:40
阅读次数:
221
AVL树又称高度平衡的二叉搜索树,是1962年俄罗斯的数学家提出来的。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。AVL的性质:(1)左子树和右子树的高度之差的绝对值不超过1。(2)树中的每个左子树和右子树都是AVL树。(3)每个节点都有一个平衡因..
分类:
其他好文 时间:
2016-07-24 07:10:41
阅读次数:
188
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。红黑树是满足下面红黑性质的二叉搜索树:(1)每个节点,不是红色就..
分类:
其他好文 时间:
2016-07-24 07:07:05
阅读次数:
151
一种适合外查找的树,它是一种平衡的多叉树,称为B树。一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或者满足一下性质:根节点至少有两个孩子每个非根节点有[M/2,M]个孩子每个非根节点有[M/2-1,M-1]个关键字,并且以升序排列key[i]和key[i+1]之间的孩子节点的..
分类:
其他好文 时间:
2016-07-22 23:12:46
阅读次数:
292
总结一下最近做的人工智能计算工作,有效且比较可靠的实现手段算法包括:搜索树、迭代、递归、回溯。 另外,最近所做的这几个人工智能项目,这些计算工作,表象上都呈一个枣核型,两头小中间大。输入和输出的数据量非常小、非常少,但是计算过程中,产生和计算 的数据量非常大,这种情况导致数据计算非常耗时、耗资源,最 ...
分类:
其他好文 时间:
2016-07-22 07:44:54
阅读次数:
189
1.二叉查找树又称为二叉搜索树。二叉查找树和普通的二叉树在结构上一样,它要么是一棵空树,要么是这样的一棵二叉树:对任意结点,如果左子树不为空,则左子树上所有结点的权值都小于该结点的权值;如果右子树不为空,则右子树上所有结点的权值都大于该结点的权值;任意结点的左子树和右子树都是一棵二叉查找树;一般而言 ...
分类:
其他好文 时间:
2016-07-21 14:50:45
阅读次数:
180
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。红黑树是满足下面红黑性质的二叉搜索树每个节点,不是红色就是黑色..
分类:
其他好文 时间:
2016-07-20 19:49:49
阅读次数:
253
一.概念红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。2.性质:每个节点,不是红色就是黑色的根节点是黑色的如果一..
分类:
其他好文 时间:
2016-07-20 19:48:13
阅读次数:
168
二叉搜索树所具有的性质:每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。左子树上所有节点的关键码(key)都小于根节点的关键码(key)。右子树上所有节点的关键码(key)都大于根节点的关键码(key)。每一个左右子树都必须是二叉搜索树。二叉搜索..
分类:
其他好文 时间:
2016-07-20 19:47:38
阅读次数:
165
一.AVL树的性质左子树和右子树的高度之差的绝对值不超过1;树中的每个左子树和右子树都是AVL树。二.代码实现#include<iostream>
usingnamespacestd;
template<classK,classV>
structAVLTreeNode
{
AVLTreeNode<K,V>*_left;
AVLTreeNode<K,V>*_right;..
分类:
其他好文 时间:
2016-07-20 13:44:29
阅读次数:
199