![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
编程萝卜
这个作者很懒,什么都没留下…
展开
-
C++ 二叉查找树
就不写太多注释了,函数名字应该可以看懂哦~template<typename T> class BinarySearchTree { public: BinarySearchTree() { root = nullptr; } BinarySearchTree( const BinarySearchTree & rhs ) { } ~原创 2016-04-19 21:24:54 · 359 阅读 · 0 评论 -
C++ vector 数组实现
现在的年轻人,一言不合就上代码template <typename T> class Vector { public: explicit Vector(int initSize = 0): theSize(initSize), theCapacity(initSize + SPARE_CAPACITY){}; Vector(const Vector & rhs)原创 2016-04-12 12:31:24 · 593 阅读 · 0 评论 -
hashtable笔记 c++
使用了STL中的vector、list template <typename T> class HashTable { public: explicit HashTable (int size = 101); bool contains ( const T & t) const { return find(lists[myhash(t)].begin(), l原创 2016-05-05 19:57:23 · 981 阅读 · 0 评论 -
优先队列(堆)笔记 c++
当队列中某个对象优先级比其他对象更高时候,需要比其他对象先出队列而不管所在的位置时候,需要使用优先队列。 有如下的实现方法 - 插入在对尾,出队时候遍历整个队列 - 插入时即进行排序,出队时候固定在队首或者对尾 - 使用二叉查找树 - 使用二叉堆 往往在最后的最重要 堆是完全二叉树,使用数组就可以很好的实现。(vector更好,不需要再扩容)template <typename T>原创 2016-05-06 21:24:31 · 807 阅读 · 0 评论 -
二项队列 C++实现
二项队列是比左式堆与斜堆更好的选择。 二项队列不是一棵树,是由堆序的集合组成的,成为森林。堆序中每一颗树都有约束,都为二项树,每一个高度只有一个二项树,每层的高度由两个下一层高度的树组成。B1= B0 + B0。 二项队列的合并是相同高度的二项树合并,并且insert与deleteMin都是依靠合并这个操作实现的。原创 2016-05-08 10:30:52 · 1014 阅读 · 0 评论