本博客因为部署在netlify, 所以可能会出现部分图片加载不出来的情况。如有必要请科学上网!

  • 红黑树

    概念 一种自平衡的二叉搜索树。每个节点额外存储了一个 color 字段 (“RED” or “BLACK”),用于确保树在插入和删除时保持平衡。 红黑树是 4 阶 B 树(2-3-4 树)的变体。 特点 红黑树本身也是二叉搜索树,具有所有二叉搜索...
  • 满二叉树

    基本概念: 满二叉树:**层数(高度)**为H,总节点数为的二叉树。(根节点在第1层,所有叶子节点都在第H层)。 此处认为满二叉树 == 完美二叉树。 有些地方存在另一种分类方法:完美(prefect)二叉树、完满(full)二叉树、完全(comp...
  • 平衡二叉树(AVL)

    如果插入二叉搜索树的元素在插入之前就已经有序,那么插入后的二叉搜索树会退化为链表。在这种情况下,所有操作的时间复杂度将从 劣化为 。因此产生了平衡二叉树,能够实现在插入、删除时保持树的平衡,避免树退化为链表。平衡二叉树全称为:平衡二叉搜索树(Ba...
  • 排序算法

    排序算法 经典的排序算法总共有十种。分别是:冒泡、选择、插入、希尔、归并、快排、堆排、计数、桶排、基数。他们都是内部排序。 关于内部排序和外部排序: 内部排序:待排序列数据记录完全存放在内存中 外部排序:排序的数据很大,一次不能容纳全部的排序记录...
  • 二叉搜索树

    特点 非空左子树的所有结点的值小于其根结点的值。 非空右子树的所有结点的值大于其根结点的值。 左、右子树都是二叉搜索树。 实现 主要操作 查询: 实现思路: 递归:调用递归方法,传入要查询的树的根节点和要查询的值,判断根节点值大小,然后递归查询...
  • 完全二叉树

    完全二叉树 基本概念 完全二叉树:基于二叉树,要求除了最下层外,其余各层都是满节点。并且,最后一层的节点必须尽可能向左放。 例:下面所有二叉树都不是完全二叉树: 特征 叶子节点之可能在最下面的两层出现 对任意结点,若其右分支下的子孙最大层次为...
  • 二叉树

    特性: 对于一个非空二叉树,其****。 非空二叉树的第k层最多有个节点。(根节点处于第1层) 高度为H的二叉树最多有个节点。(高度=层数,根节点在第1层,叶子节点在第H层)(满二叉树) 对完全二叉树从上到下,从左到右依次编号,则有以下关系: 最...
  • C++新标准

    C++新标准 C++ 11 语法特性: auto decltype 返回类型后置(auto+decltype) 右值引用 列表初始化 移动语义(std::move) 万能引用(T&&) 智能指针(share_ptr; wake_pt...
  • C++语法

    [toc] 强制类型转换 static_cast 用于基本数据类型之间的转换,以及在类层次结构中基类和派生类之间的指针或引用的转换。它在编译时执行,不提供运行时类型检查。 如果对象所属的类重载了强制类型转换运算符 T(如 T 是 int、int*...
  • C库函数

    stdio.h void perror(const char* err) stdlib.h int system(const char* command) 在windows系统中,system函数直接在控制台调用一个command命令。 ...
/5