zoukankan      html  css  js  c++  java
  • 20201008 初赛最后一天

    在初赛中年年必考的一定有进制转换和运算顺序,对于掌握进制本质之后,进制转换便不再是难题,但是运算顺序却一直是背了忘,忘了背。所以今天来梳理运算顺序。

    值得一提的是0分为-0 +0然后根据符号进行转换即可。

    运算顺序:

    1. 括号
    2. * / mod and(与)
    3. + - or,xor(或,异或)
    4. 剩余运算

    (Splay)树的中文名字为二叉查找树,也是平衡树。

    红黑树与替罪羊树同样为平衡树

    在替罪羊树上,插入或删除节点的平摊最坏时间复杂度是(O(log n)),搜索节点的最坏时间复杂度是(O(log n))

    前中后序遍历

    这种题可谓也是年年必出,总之没啥技巧,就是根据已知遍历信息进行画图,画完图这道题在你眼中就已经被切掉了。那么如何进行遍历呢?

    首先明确的是这里的前中后是相对于"中间"的位置去定义的,这么说可能还是不能很好的理解(其实要是初学或者是不懂的话,这句话其实解释了个寂寞)。所以我们需要具体的应用一下。

    1. 前序遍历:

    如果题中给出前序遍历,那这道题已经十分的良心了,因为它的遍历顺序是中左右,所谓中左右就是你在建图(建树)的时候,它需要先去访问中间的节点,然后再去一次访问它的左节点以及右节点。当当前三个左中右节点全部被访问完,我们需要去访问其子节点,因为中间的点一定是左右节点的父亲,所以中间节点的子节点(也就是左右节点)已经被访问过了,只需要去寻找左右节点是否存在子节点即可,顺序依旧是中左右。然后即可得到前序遍历后所得到的结果。

    ps 再讲一下为什么前序遍历十分的良心,因为访问顺序为中左右,所以其访问的第一个点一定为根节点,有了根节点,建图就(so quad easy)

    2. 中序遍历:

    有了前序遍历的基础,中序遍历也就不会太难了,顾名思义中序遍历的遍历顺序为左中右,根据前序遍历的经验,我们很容易的就类比得出中序遍历的做法,这里作者就不重复进行证明了。

    ps 大多数题中给的表达式都是中序遍历的结果。

    3. 后序遍历:

    类比前中序遍历,这里作者依旧不予证明。

  • 相关阅读:
    C++小结
    进程
    JavaScript中如何获取当前点击对象信息!
    form表单中enctype="multipart/form-data"的传值问题
    WebMagic框架总结
    工具类:自己总结的利用fileupload包上传文件的工具类!
    工具类:关于如何找到两个List数组中不同的数据的算法!
    工具类:关于解决数据库中的日期格式,经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结
    工具类:将其他编码类型转换成UTF-8或者其他类型的工具类
    博主收藏的前端框架,极力推荐!
  • 原文地址:https://www.cnblogs.com/scy-fisheep/p/13791540.html
Copyright © 2011-2022 走看看