1.#include <stdio.h>#include <stdlib.h>#include "BSTree.h"/* 二叉树排序算法 */struct Node{ BSTreeNode header; char v;};void printf_data(BSTreeNode* node){ if ...
分类:
编程语言 时间:
2016-12-19 14:17:19
阅读次数:
304
1.#include <stdio.h>#include <stdlib.h>#include "Hash.h"/* 哈希技术的实现 */struct Student{ char* id; char* name; int age;};int compare_id(HashKey* k1, HashK ...
分类:
其他好文 时间:
2016-12-19 14:05:15
阅读次数:
197
伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。(来自百科) 伸展树的操作主要是 ...
分类:
其他好文 时间:
2016-12-17 09:21:43
阅读次数:
138
一.二叉排序树 定义:1.如果左子树不为空,根节点的值大于他左子树所有节点的值 2.如果右子树不为空,根节点的值大于他右子树所有节点的值 3.左右子树也是一颗二叉排序树 要点:并没有规定左右子树的数目限制 也就是说,如图这种都是可以的,右边的那个她会退化为顺序查找 平衡二叉排序树,二叉判定树 在二叉 ...
分类:
其他好文 时间:
2016-12-04 22:57:55
阅读次数:
170
在写基于二叉排序树的查找时,分为三个过程 1.二叉排序树的插入 2.二叉排序树的建立 3.基于二叉排序树的查找 其中第三部可以递归方式实现,也可以用while循环解递归,于是我想也解解第一步的递归,看看行不行,结果给了我当头一棒,解递归失败! 最后我分析了一下原因: 首先看一下,原来递归的实现方式 ...
分类:
编程语言 时间:
2016-12-04 16:46:24
阅读次数:
187
导论:首先,沿着二分查找的思路,我们构造一种二叉树来查找,这种二叉树的左子树结点都小于根节点,右子树节点都大于根节点,这样一来,所有结点算是都排好序了,接下来就可以查找 基于二叉排序树的查找 一.二叉排序树的定义 所谓二叉排序树是一个什么样的东西,我们得弄清楚,以下是二叉排序树的定义: 1.若它的左 ...
分类:
编程语言 时间:
2016-12-04 16:23:43
阅读次数:
157
二分法查找: 『在有序数组的基础上通过折半方法不断缩小查找范围,直至命中或者查询失败。』 二分法的存储要求:要求顺序存储,以便于根据下标随机访问 二分法的时间效率:O(Log(n)) 二分法的空间效率:原地查询 O(1) 二分法对应的搜索树是确定的。 二叉排序树查找: 『借助二叉排序树进行搜索,但因 ...
分类:
编程语言 时间:
2016-11-27 23:04:08
阅读次数:
226