摘要:
云API错误码的设计规则 腾讯云云API错误码分为两级。以点号分隔。 第一级错误码统一由API平台提供 ,业务选择合适的错误场景。第二级错误码可选,业务可自定义。 例如,InvalidParameter.InvalidUserName。其中, 第一级错误码为InvalidParameter,表示这是 阅读全文
摘要:
红黑树 动机 Q: 在已经有了AVL之类的BBST,为什么还需要引入红黑树? A: 我们希望数据结构具有关联性,即相邻版本之间,比如说第一次插入,和第二次插入时,树的结构不能发生太大变化, 应该可以经过O(1)次数就可以变化完成。 对于AVL树来说,插入是满足这个条件的,删除却不满足这个条件。 红黑 阅读全文
摘要:
B树 概述 动机: B树实现高速I/O 640K如何"满足"任何实际需求了 源自比尔·盖茨的一个笑话 前提知识 1. 高速缓存 为什么高速缓存有效? 不同容量的存储器,访问速度差异悬殊,磁盘和内存访问速度的量级相差$ 10^5$ 如果将访问内存比喻为1秒,那么访问外存则相当于1天 因此我们需要尽量减 阅读全文
摘要:
高级搜索树 伸展树 对于维护平衡因子,感觉很麻烦,希望抛弃掉平衡因子,使用更加潇洒的模式。 要求: 1. 对于伸展树来说,也不做过多掌握 2. 主要明白利用数据的局部性,我们可以实施的新策略 概述 背景知识补充: 数据局部性 刚被访问过得数据很快会被再次访问 因此这一次访问过的节点,极有可能再次被访 阅读全文
摘要:
二叉搜索树(Binary Search Tree) BST 要求:AVL树是BBST的一个种类,继承自BST,对于AVL树,不做太多掌握要求 1. 四种旋转,旋转是BBST自平衡的基本,变换,主要掌握旋转的思想。 2. 3+4重构,重点明白为什么可以3+4重构,而不是使用旋转 3. 对于AVL插入和 阅读全文
摘要:
图 术语 俩个要素 顶点集和边集。分别使用V和E来表示 邻接关系: 指的是俩个顶点之间的关系。 关联关系: 指的是顶点和边之间的关系。 极大顶点: 图如果再加一个顶点,图就不连通了。 有向图和无向图 主要研究有向图,有向图可以转化为无向图 路径 简单路径:路径中不含重复节点。 普通路径:路径中可能含 阅读全文
摘要:
树 树的一些结论 度: 一个节点的孩子数称为度。 一颗树的边数 = 节点数n 1 意义在于衡量算法复杂度时使用。 树的特性 路径(通路) + 环路 通路: a, b 之间通过节点连接成的路。 长度:所有边的数目(有些文献使用节点定义长度) 环路:通路的俩个节点彼此短路,即重合构成环路。eg. a b 阅读全文
摘要:
队列的学习 队列的模拟 使用数组对循环队列进行模拟的时候,必须放弃一个位置。 关于模板类继承之后派生类使用基类接口,需要使用基类的作用域限定。 队列的底层,如果不考虑空间的话,使用vector比较好,否则使用双向链表,主要delete太耗时间。 队列的应用 RoundRobin轮盘机制 RoundR 阅读全文
摘要:
栈的学习 栈的应用场合 1. 逆序输出 输出次序与处理过程颠倒,递归深度和输出长度不易预知 不是很理解 实例:进制转换 大致思路:对于进制转换,我们一般使用的都是长除法,因此要保存每次得到的余数,但是最后算下来 新的进制的数,刚好和存储的时候是逆序的。因此利用栈输出即可。原因是栈是FiLo后进先出。 阅读全文
摘要:
列表 stl中的列表实际上是双向列表 列表节点ADT | 成员 | 功能 | | | | | data | 数据域 | | pred | 直接前驱 | | succ | 直接后继 | | 接口 | 功能 | | | | | insertAsPred | 作为直接前驱插入 | | insertAsSu 阅读全文