摘要:/* 为什么要有伸展树 根据80-20黄金法则即80%的访问发生在20%的数据上,所以如果我们能够把经常访问的节点推到靠近根节点的位置, 那么就可以极大的提高访问速度。 根据这个思路,我们提出了 “ 旋转到根 ” 这一思路, 具体的:每次查找、插入、删除一个节点,我们都使用旋转的方法把这个节点旋转到根节点的位置, 并且因为旋转操作能够很好的把其他访问路径上的节点向上移动, 所以最后这经常访问...
阅读全文
摘要:/* ① 如果树 T 是 AVL 树,那么它的左右子树都是 AVL 树; ② T 的左右子树高度差小于等于 1。 高度是 O(logn) 平衡因子 = 每个结点的左子树高度 - 右子树高度 AVL 搜索树的搜索和二叉排序树搜索的算法一样, 但插入操作和删除操作就不能完全按照二叉排序树的插入和删除来进行 当在插入路径上存在不平衡点时,把离插入点最近的不平衡点称为A 节点 1) 插入...
阅读全文
摘要:书上的代码 整理一下 1 /* 2 * Copyright (c) 2000-2008 3 * Author: Weiming Zhou 4 * 5 * Permission to use, copy, modify, distribute and sell this software 6 * an
阅读全文
摘要:1 #include 2 #include 3 4 using namespace std; 5 6 7 8 9 const int Max = 100000 +10; 10 class MyString 11 { 12 public: 13 14 ...
阅读全文
摘要:#include #include using namespace std;typedef struct _NODE_{ _NODE_* pRight; _NODE_* pLeft; int e; int Count; void InitMember(int e) ...
阅读全文