二叉排序树(Binary Sort Tree),又称二叉查找树。 1、若左子树不为空,则左子树上所有结点的值均小于他的根结构的值; 2、若右子树不为空,则右子树上所有结点的值均大于他的根结构的值; 3、他的左、右子树也分别为二叉排序树。 使用中序遍历时,二叉排序树的输出顺序是由小到大的有序数列。 二 ...
分类:
编程语言 时间:
2017-07-27 20:28:24
阅读次数:
188
将二叉查找树转化成双向链表 题目思路其实不难 ,中序遍历,然后再依次的将数据放入链表中即可 重点:新加元素前后链的配置 有个有意思的地方在于result没有赋初值 导致写代码时需要先初始化 然后删除之 。 在大数据量的情况下 有可能会爆栈 下一步想想如何用非递归的方法实现之 占坑 ...
分类:
其他好文 时间:
2017-07-26 20:21:12
阅读次数:
116
1. 求深度: recursive 遍历左右子树,递归跳出时每次加一。 2. 广度搜索 使用队列 3. 二叉查找树 由于二叉查找树是递归定义的,插入结点的过程是:若原二叉查找树为空,则直接插入;否则,若关键字 k 小于根结点关键字,则插入到左子树中,若关键字 k 大于根结点关键字,则插入到右子树中。 ...
分类:
其他好文 时间:
2017-07-25 19:42:08
阅读次数:
151
题目:将一个二叉查找树按照中序遍历转换成双向链表。 给定一个二叉查找树: 返回 1<->2<->3<->4<->5。 思路:如果对于当前节点,把右子树转换成双向链表,然后把左子树转换成双向链表,转换的时候我们都标记了链表的头节点和尾节点,那么只需要将当前节点和左子树的尾部相连,和右子树的头部相连即可 ...
分类:
编程语言 时间:
2017-07-24 22:33:42
阅读次数:
209
2017-07-23 09:09:19 writer:pprp 二叉查找树,删除的功能,分为三种情况, 代码如下: ...
分类:
其他好文 时间:
2017-07-23 11:30:08
阅读次数:
159
题目描写叙述: 二叉排序树,也称为二叉查找树。能够是一颗空树。也能够是一颗具有例如以下特性的非空二叉树: 1. 若左子树非空,则左子树上全部节点keyword值均不大于根节点的keyword值; 2. 若右子树非空,则右子树上全部节点keyword值均不小于根节点的keyword值。 3. 左、右子 ...
分类:
编程语言 时间:
2017-07-22 11:04:17
阅读次数:
185
树状数组和线段树的那些事 共同点:线段树,树状数组都是用来快速搜索。 线段树通过分支查找,树状数组通过用二进制快速查找,树状数组的查询和更新时间复杂度都是O(logN),通常来说,树状数组能做的线段树都能解决。线段树的范围更广。 但是树状数组的范围虽然小,但是执行效率却比线段树高了不少。 树状数组在 ...
分类:
编程语言 时间:
2017-07-21 01:16:59
阅读次数:
165
一、trie介绍 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/tra?/ “try”。 Trie树可以利用字符串的公共前缀 ...
分类:
编程语言 时间:
2017-07-19 17:46:19
阅读次数:
314
不过自己整理的一份模版。怕时间久了会忘掉。主程序里面是自己做的一些測试。可以完毕输出查找插入和删除四种功能。接下来会在这个程序上完毕平衡树Treap的部分功能#include <stdio.h> #include <string.h> #include <stdlib.h> #include <io ...
分类:
其他好文 时间:
2017-07-18 19:40:53
阅读次数:
101