AVL树AVL树又称为高度平衡的二叉搜索树,它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度;AVL树的性质左子树和右子树的高度之差的绝对值不超过1树中的每个左子树和右子树都是AVL树下面实现一棵AVL树,主要实现其插入部分:#pragma once template <class K, class V> stru
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是red或black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。红黑树是满足下面红黑性质的二叉搜索树:每个节点,不是红色就是黑色的根节点是黑色的如果一个节点是红色的,则它的两个子节点是黑色的(没有连续的红节点)对每个节点,从该节点到其
B-树是一种适合外查找的平衡搜索多叉树,一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或者满足一下性质:根节点至少有两个孩子;每个非根节点有[2/M,M]个孩子;每个非根节点有[2/M-1,M-1]个关键字,并且以升序排列;key[i]和key[i+1]之间的孩子节点的值介于key[i]、key[i+1]之间;所有的叶子节点都在同一层;这里要提的是
实现广义表的内部基本函数,创建,拷贝,清除,计算表深度及结点个数等函数。代码如下:#pragma once; #include <assert.h> //表结点类型 enum NodeType { HEAD, VALUE, SUB, }; //表各结点的成员 struct GeneralizedNode { &
当一个矩阵为稀疏矩阵时,有效数据的个数比无效数据要少得多,因此若将一个矩阵全部存储会浪费空间,可以只将有效数据存储起来,无效数据作为标记代码如下:#include <iostream> #include <vector> using namespace std; //可用一个三元组来存储有效数据的信息 template<cla
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号