![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
MrZhuangzhipeng
这个作者很懒,什么都没留下…
展开
-
二叉树之三种遍历递归+非递归实现
一个比较好的博客https://blog.csdn.net/u011567017/article/details/57075251/递归的做法不需要讲,无脑迭代的版本都是用栈来做的.....前序的迭代版本:首先是先压入右节点,然后压入左节点后序的迭代版本:首先是先压入左节点,然后压入右节点 得到的序列是中右左,接下逆序输出就可以得到...原创 2020-04-20 23:50:23 · 168 阅读 · 0 评论 -
数据结构之栈实现
class MyStack { private: vector<int> data; // store elements public: /** Insert an element into the stack. */ void push(int x) { dat...原创 2020-04-20 21:45:08 · 123 阅读 · 0 评论 -
数据结构之队列实现
1.队列实现队列底层结构是一个vector来做支撑,也可以使用链式结构而在STL的话,实际上是通过deque来实现的.class Myqueue {private: vector<int> data; int p_start;public: Myqueue():p_start(0){} bool enqueue(int x) { data.pu...原创 2020-04-20 21:43:44 · 345 阅读 · 0 评论 -
数据结构之哈希
题目1:实现一个简单的哈希结构https://leetcode-cn.com/problems/design-hashmap/使用YouLookDeliciousC的做法,即用拉链表来实现。技巧是vector<Node*>来做为容器struct Node { int key; int val; Node* next; Node(...原创 2020-04-20 18:35:32 · 231 阅读 · 0 评论 -
数据结构之B树
1.分块查找2.B树1.分块查找如何分块呢?2.B树多路平衡查找树数据库中的b+树索引结构,和跳表类似。因为索引量比较大,所以索引一般放在硬盘上。因为,为了b+树的树形结构,所以数据添加和删除会会对硬盘进行io操作,所以索引会降低数据的添加和删除速度。https://zhuanlan.zhihu.com/p/87124501...原创 2020-04-20 14:48:36 · 225 阅读 · 0 评论 -
数据结构之Map
1.map的原理2.map的比较器对于key来说 key是结构体的时候注意要重载<操作符号 对于value3.红黑树4.左旋右旋操作1.map原理它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什么影响 。 对于迭代器来说,不可以修改键值,只能修改其对应的实值。 map 内部数据的组织, map 内部自建一棵红黑树(一种...原创 2020-04-20 10:38:26 · 450 阅读 · 0 评论 -
数据结构之vector实现
参考后台开发:核心技术关于vector几个需要注意的点:1.是比较器的写法2.是迭代器失效的场景(1)当删除该位置得迭代器得时候,实际上该迭代器就会失效了,这个时候实际上就变成了野指针了(2),但是,与伴随 string 插入时迭代器失效的一般规则一致,所有从插入位置到 string 结尾的迭代器 、 指针 、 引用将失效 。3.在写成员函数的时候需要注意以下当...原创 2020-04-19 22:11:04 · 280 阅读 · 0 评论 -
数据结构之String实现
说到底,string类实际上就是对字符串指针进行一系列的操作两个重点:1.接口记得写哪一些2. c函数的使用strcpy(newString.m_data, m_data);strcat(newString.m_data, other.m_data);class MyString {public: MyString(const char* str = NUL...原创 2020-04-19 17:21:40 · 337 阅读 · 0 评论 -
手写数据结构之链表
链表实现单链表、循环链表、双向链表,支持增删操作 实现单链表反转 实现两个有序的链表合并为一个有序链表 实现求链表的中间结点单链表实现(来自leetcode)在实现的时候可以注意一些实现技巧哨兵节点:哨兵节点在树和链表中被广泛用作伪头、伪尾等,通常不保存任何数据。我们将使用伪头来简化我们简化插入和删除。在接下来的两种方法中应用此方法。双链表的双向搜索:我们可以从头部...原创 2020-04-19 15:53:42 · 406 阅读 · 0 评论