本文学习的是:二叉搜索(排序)树的普通操作
包括:插入,删除,查找,前序遍历,中序遍历,后序遍历,树的最大深度,最小深度,最大值,最小值和节点个数。
首先需要清楚二叉搜索树的定义:
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、...
分类:
其他好文 时间:
2016-04-29 17:46:52
阅读次数:
118
本文学习的是:二叉搜索(排序)树的普通操作
包括:插入,删除,查找,前序遍历,中序遍历,后序遍历,树的最大深度,最小深度,最大值,最小值和节点个数。
首先需要清楚二叉搜索树的定义:
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、...
分类:
其他好文 时间:
2016-04-26 19:51:27
阅读次数:
142
1. 二叉查找树 二叉查找树(Binary Search Tree)/ 有序二叉树(ordered binary tree)/ 排序二叉树(sorted binary tree) 1). 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2). 若任意节点的右子树不空,则右子树上 ...
分类:
编程语言 时间:
2016-04-22 16:04:12
阅读次数:
205
1 基于二叉链表的有序二叉树
1.1 问题
BST是Binary Search Tree的缩写,译为二叉搜索树,或有序二叉树,是二叉树的一种,它的定义如下:
1)或者是一棵空树;
2)或者是具有下列性质的二叉树:
I) 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
II) 若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
III)左、右...
分类:
编程语言 时间:
2016-04-22 10:37:48
阅读次数:
318
1. BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键 ...
分类:
其他好文 时间:
2016-04-16 10:46:44
阅读次数:
155
1.Dijkstra 算法 Dijkstra算法适用于边权为正的情况。 用于计算正权图上的单源最短路(Single-Source Shortest Paths,SSSP)。所谓单源最短路即从单个源点出发,到所有结点的最短路。 算法同时适用于有向图和无向图。 伪代码: ...
分类:
编程语言 时间:
2016-03-31 14:13:30
阅读次数:
203
一.树 树的基本术语 ①结点的度(Degree):结点的子树个数 ②树的度:树的所有结点中最大的度数 ③叶结点(Leaf):度为0的结点 ④父结点(Parent):有子树的结点是其子树的根结点的父结点 ⑤子结点(Child):若A结点是B结点的父结点,则称B结点是A结点的子结点;子结点也称孩子结点。 ...
分类:
其他好文 时间:
2016-03-29 19:18:27
阅读次数:
311
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点
分类:
其他好文 时间:
2016-03-16 19:03:01
阅读次数:
209
设计一个算法,将链表中所有结点的链接方向“原地”逆转,即要求仅利用原表的存储空间,换句话说,要求算法的空间复杂度为O(1)。
分类:
其他好文 时间:
2016-03-16 12:21:16
阅读次数:
158
一、二叉排序树定义 1.二叉排序树的定义 二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;②若它的右子树非空,则右子树
分类:
编程语言 时间:
2016-03-13 14:31:37
阅读次数:
309