数据结构 小计

8 阅读1分钟

1.异或运算

0^N = N ;N^N = 0; 满足交换律和结合律

2.提取某个数最右的第一位:

int rightOne = eor &(~eor+1)

3.求数组中间下标

int mid = L + ((R - L) >> 1);

4.master 公式使用

image.png

5.堆

堆是一棵完全二叉树,物理上通过数组的形式进行存储。

父子节点满足如下关系:若父节点的索引为 i,则左子节点的索引为:2 * i + 1 , 右子节点的索引为:2 * i + 2。若孩子节点的索引为 j,则父亲节点的索引为:( j - 1 ) / 2。 向下取整

6.二叉树遍历

递归序

先序遍历:在递归序中第一次遇到就打印

中序遍历:在递归中第二次遇到就打印

后序遍历:在递归中第三次遇到就打印