![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 72
Dream_JW
这个作者很懒,什么都没留下…
展开
-
B-树 构建
经常不写博客感觉有些知识都有些模糊,闹了许多笑话。现在开始将自己之前接触到的学习过的,还有正准备学习研究的记录下来。方便自己回看,也便于交流。 今天看到了一种新的搜索结构B-树。之前刚开始接触二叉树时感觉挺简单的,以为树也差不多。今天才发现在插入时挺复杂的。 B-树——平衡多叉树 一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树。满足以下性质。 1.原创 2017-02-22 21:22:36 · 3396 阅读 · 0 评论 -
map与set的原理及使用
众所周知C++比C的使用更加灵活是由于C++中有大量的库函数。今天我们所研究的是其中的map与set。 1.set 底层实现是红黑树,元素的键值是实数、它的特性及用途 可将元素的键值value按升序输出 防冗余 用来判断正误 set的接口有许多,我们研究比较常用的 insert single element (1) pair ins原创 2017-02-15 21:15:38 · 703 阅读 · 0 评论 -
有序数组的归并 链表的合并lianbiao
有序数组合并 有两个递增数组,第一个数组的大小为 m+n 有m个有效数,第二个数组大小为n,有效数为n.试将两个数组合并到第一个数组,且保持数组一的有序。 看到这个题特别容易想到链表的合并,但是若按照链表的正序方法,时间复杂度为O(m*n),效率太慢 所以应该从后向前插入。时间复杂度为O(m+n) 如下代码,含注释。 #include #include using namespace原创 2017-04-12 22:41:22 · 402 阅读 · 0 评论 -
判断二叉搜索树后序遍历结果
问题描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。数组为空为NO 思路: 如下图所示,搜索树后序遍历结果满足:最后一位为该树的root,其余数可视为两部分,它的左子树和右子树,并且左子树中所有点均小于root,右子树中所有点均大于root; 如果有出现在左子树中数大于root,或右子树中原创 2017-08-04 11:36:05 · 305 阅读 · 0 评论 -
栈最小值查找
1.实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(返回最小的操作数)的时间复杂度为o(1) 对于前两个要求许多人都能做出来,需要思考的是最后一个,返回最小的操作数,要注意在每次入栈出栈的操作完成后,最小数的改变必须考虑,尤其是在出栈操作顺序完成后,若是最小数被Pop,那么,如何获得当前的最小数等问题。 采用的方法是原创 2017-04-20 12:52:50 · 437 阅读 · 0 评论