树/堆
文章平均质量分 74
小弟季义钦
好东西要大家分享!
展开
-
判断给定序列是否为某BST后序输出
#include using namespace std; /** * 给定一个序列,判断其是不是某个BST的后序遍历输出 * 思想: 根据在位于序列最后的根节点,将序列划分成两个part。 * 然后判断后半序列是否都比root大,如果不是,则返回false。(前半序列一定都比root小) * 如果当前序列满足BST左右子树两个part的性质,继续递归两个part。 */原创 2012-11-04 11:35:12 · 826 阅读 · 0 评论 -
将二叉排序树BST转换成排序的双向链表
#include using namespace std; /** * 递归实现将二叉排序树BST转换成排序的双向链表。 * 递归左子树,将左子树的转换成的链表的尾节点和当前根节点连接, * 然后当前根节点更新尾转换好链表的尾节点。 递归右子树 */ typedef struct node{ int value; struct node *lchild; struct原创 2012-11-04 22:24:42 · 1766 阅读 · 0 评论 -
重构二叉树
/** * 问题描述: * 根据一颗二叉树的前序和中序遍历结果,重构这颗二叉树并输出后序遍历结果 */ #include using namespace std; typedef struct node { int value; struct node *left; struct node *right; }NODE; NODE *root; //节点分配函原创 2012-11-12 22:43:13 · 901 阅读 · 0 评论 -
BST的插入和删除
/* * binarySearchTree.cpp * * Created on: 2012-4-17 * Author: jiyiqin * 实现二叉查找树的构造,插入,删除,查找节点等基本操作。 */ #include #include #include using namespace std; class BinarySearchT原创 2012-11-15 12:55:43 · 1185 阅读 · 0 评论