25、数据结构与算法-实战:拓扑排序
本文转自:http://blog.csdn.net/dm_vincent/article/details/7714519 本文将从以下几个方面介绍拓扑排序: 拓扑排序的定义和前置条件 和离散数学中偏序/全序概念的联系 典型实现算法 Kahn...
本文转自:http://blog.csdn.net/dm_vincent/article/details/7714519 本文将从以下几个方面介绍拓扑排序: 拓扑排序的定义和前置条件 和离散数学中偏序/全序概念的联系 典型实现算法 Kahn...
题目:请说明有N个元素的堆的高度为logN 解答:堆是完全二叉树。除了底层外,其他所有层都是满的。 因此堆至少有2^h个元素,最多有2^(h+1)-1个元素,即2^h <= N <= 2^(h+1)-1 这表明h <= l...
公众号:“皇子谈技术”主理人
优先队列(Priority Queue)是一种数据结构,它支持插入(Insert)操作和删除最小值(DeleteMin)或删除最大值(DeleteMax)并返回删除元素操作。 优先队列的这些操作等价于队列的EnQueue和DeQueue操作...
二叉搜索树(BinarySearchTree) 在二叉搜索树中,所有的左子树节点的元素小于根节点的元素数据,所有的右子树节点的元素大于根节点的元素数据。 1.一个节点的左子树只能包含值小于该节点数据的节点 2.一个节点的右子树只能包含值大于...
题目:判断给定的两棵树结构是否相同 思路: 两棵树都为空树,则返回true 两棵树有任意一棵树不为空时返回false 两棵树都不为空,则比较数据并递归地判断左子树和右子树是否相同 /** * 题目:判断给定的两棵树结构是否相同 * @par...
题目:将一棵树转换成其镜像树。 思路:树的镜像指的是互相交换非叶子节点的左子树、右子树而得到的一棵树。如下两棵树: 1 1 / \ / \ 2 3 3 2 / \ / \ 4 5 5 4 /** * 题目:将一棵树转换成其镜像树。 * @p...
题目:求已知二叉树高度/深度 思路1:递归计算左子树和右子树的高度,然后找出两棵树中高度的大值,再加一,就是树的高度。 /** * 题目:求已知二叉树高度/深度 * @param root 二叉树的根节点 * @return 二叉树的高度/...
题目:查找二叉树中最大元素 思路1:利用递归思想,分别查找到左子树中最大元素和右子树中最大元素,然后将它们与根节点的值进行比较。 /** * 查找二叉树中最大元素 * @param root 二叉树根节点 * @return 二叉树中最大元...
遍历概念 访问树中所有节点的过程叫作树遍历。 遍历分类 遍历分类可以根据当前节点被访问的顺序来划分;假设,当前节点用D表示;该节点的左子树用L表示;该节点的右子树用R表示 DLR:前序遍历(preOrder traversal) LDR:中...
树是一种典型的非线性结构; 一棵树是N个节点和N-1条边的集合。这个集合可以是空集;若不是空集,则树由根节点(root)以及0个或多个非空的子树T1、T2、T3、…、Tn组成。 A / | \ / | \ / | \ / | \ / | \...