数据结构
风 先生
这个作者很懒,什么都没留下…
展开
-
堆排序(C++实现)
堆排序堆排序运行时间(n lgn)。它是一种原地(in place)排序算法:在任何时候,数组中只有常数个元素存储在数组外。堆的数据结构不至少在堆排序中有用,还可以构成一个有效的优先队列。数据结构二叉堆数据结构是一种数组对象,它可以被看做是一棵完全二叉树。树中的每个节点与数组中存放该节点值的那个元素对应。除了最后一层,树的每一层都是填满。 假设有数组A。 树的根为A[0]现在给定某个节点的下标i原创 2016-06-14 16:43:28 · 879 阅读 · 0 评论 -
判断一棵二叉树是否为二叉搜索树(BST)
这里先简单介绍一下二叉查找树的性质: 递归定义节点的左子树中任意节点值小于根节点的值,节点的右子树中任意节点值大于根节点,且当前节点左右子树都必须是二叉查找树,不允许存在重复节点。 假设:节点的数据结构:struct node{ int value; node* left; node* right;};方法1(错误示范:自己踩的坑)首先BST是一个递归定义:这样我们首先原创 2016-11-11 23:11:23 · 28184 阅读 · 6 评论