数据结构与算法
底层搬砖者
这个作者很懒,什么都没留下…
展开
-
红黑树RBTree学习笔记
什么是红黑树RBTree:概念:红黑树是一种特殊的平衡二叉树,它具有自平衡的能力;能够保证在最坏的情况下,基本的动态操作时间在O(logh),其中h代表红黑树的高度;红黑树其实是在平衡二叉树的每个结点上,增加一个存储单元,用来标明颜色;平衡二叉树满足下面条件 -------> 红黑树:1. 每个结点不是黑的,就是红的;2. 根节点一定是黑的;3. 叶节点NULL都是黑的;4. ...原创 2020-03-28 19:18:36 · 257 阅读 · 1 评论 -
unordered_map使用技巧
#include <unordered_map>//unordered_map存储内不是线性的,因此使用unordered_map时,相对顺序会改变,但事实KEY-VALUE是不变的,而且也保证了KEY值唯一性//map是按照key字典序进行存储的,但是unordered_map中是无序的//map内部实现了一个红黑树(非严格平衡二叉树),该结构具有自动排序的功能,因此map内...原创 2020-03-28 16:27:37 · 671 阅读 · 0 评论 -
二叉树的深度
二叉树的深度:定义为二叉树由根节点到叶节点的最长路径;方法:可以对二叉树进行宽度优先遍历,得到的层数就是二叉树的深度;int TreeDepth(TreeNode* pRoot) { //得到二叉树的层序遍历结果 vector<vector<int>> result; if(pRoot == NULL) ...原创 2020-03-28 16:20:44 · 2836 阅读 · 0 评论