01 2021 档案
摘要:1.二叉树遍历 1.1 前序遍历 根、左、右 A B D H E I C F J K G 代码模版 递归 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeN
阅读全文
摘要:移位运算 1. 逻辑移位 逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。 2. 算术移位 算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充。 3. 举例 对于无符号数,左移右移都是逻辑移位 对于有符号数,左移是逻辑移位,右移是算术移位 具体操作 1.
阅读全文
摘要:1. 二分查找 C++ STL标准库中提供有 lower_bound()、upper_bound()、equal_range() 以及 binary_search() 这 4 个查找函数,它们的底层实现采用的都是二分查找的方式。 1.1 lower_bound() lower_bound() 函数用
阅读全文
摘要:1. 背景 当一个程序被执行时,系统维护一个执行堆栈来存储关于程序中活动函数的信息。执行堆栈中存储的一个重要信息是函数终止时要执行的下一条指令的地址。 在许多C/C++代码中,我们通过写入数组的末尾,可能破坏执行堆栈。这被称为smash the stack。 当函数终止时,控制流将跳转到内存中的随机
阅读全文

浙公网安备 33010602011771号