在初赛中年年必考的一定有进制转换和运算顺序,对于掌握进制本质之后,进制转换便不再是难题,但是运算顺序却一直是背了忘,忘了背。所以今天来梳理运算顺序。
值得一提的是0
分为-0
+0
然后根据符号进行转换即可。
运算顺序:
- 括号
- 非
*
/
mod
and
(与)+
-
or,xor
(或,异或)- 剩余运算
(Splay)树的中文名字为二叉查找树,也是平衡树。
红黑树与替罪羊树同样为平衡树
在替罪羊树上,插入或删除节点的平摊最坏时间复杂度是(O(log n)),搜索节点的最坏时间复杂度是(O(log n))。
前中后序遍历
这种题可谓也是年年必出,总之没啥技巧,就是根据已知遍历信息进行画图,画完图这道题在你眼中就已经被切掉了。那么如何进行遍历呢?
首先明确的是这里的前中后是相对于"中间"的位置去定义的,这么说可能还是不能很好的理解(其实要是初学或者是不懂的话,这句话其实解释了个寂寞)。所以我们需要具体的应用一下。
1. 前序遍历:
如果题中给出前序遍历,那这道题已经十分的良心了,因为它的遍历顺序是中左右,所谓中左右就是你在建图(建树)的时候,它需要先去访问中间的节点,然后再去一次访问它的左节点以及右节点。当当前三个左中右节点全部被访问完,我们需要去访问其子节点,因为中间的点一定是左右节点的父亲,所以中间节点的子节点(也就是左右节点)已经被访问过了,只需要去寻找左右节点是否存在子节点即可,顺序依旧是中左右。然后即可得到前序遍历后所得到的结果。
ps 再讲一下为什么前序遍历十分的良心,因为访问顺序为中左右,所以其访问的第一个点一定为根节点,有了根节点,建图就(so quad easy)!
2. 中序遍历:
有了前序遍历的基础,中序遍历也就不会太难了,顾名思义中序遍历的遍历顺序为左中右,根据前序遍历的经验,我们很容易的就类比得出中序遍历的做法,这里作者就不重复进行证明了。
ps 大多数题中给的表达式都是中序遍历的结果。
3. 后序遍历:
类比前中序遍历,这里作者依旧不予证明。