阿里2015秋招 研发工程师 几个问题

秋招,简历上写的是自学过,数据结构与算法,网络,操作系统…可是这玩意自己学的太烂,啥都不会,参加这次阿里秋招纯粹找虐的…附加题第一个二叉树居然没写完,数据结构拿图给我现在是啥都不知道,二叉树还有点戏…太对不起自己了…

还有几个选择题,做的时候,觉得自己能拿下来,先做个标记,回头再看,看了几个,有的也是确实时间不够,交卷之后再想的…

  1. 12点,连成59根线,问有几根是由三个及三个以上的构成的…

    1
    2
    3
    4
    5
    6
    12中取2个 = 12*11/2 = 66

    三点共线,这三点本来要构成 C32 = 3 条线的,但是共线只有一条,减两条
    四点共线,本来构成C42 = 6条,结果一条,减五条

    照这样去凑,66-59 = 7 = 2 + 5 也就是,两条,一条三点共线,一条四点共线
  2. 睡过头概率0.2,路上堵车概率0.5,这两个都会导致主人公(如小明)迟到,现在,知道小明已经迟到了,问相关的概率

    这个是条件概率,以前学概率的时候很熟,现在忘光了,刚去翻了翻概率书,可以解了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    A事件 : 睡过头
    B事件 : 路上堵车
    C事件 : 迟到了

    则P(A) = 0.2 , P(B) = 0.5
    未迟到概率 = 1 - P(C) = 没有睡过头&没有堵车 = (1-0.2)*(1-0.5) = 0.4
    迟到概率P(C) = 0.6

    现在知道已经迟到了...

    睡过头 P(A|C) = P(AC)/P(C) = 睡过头&迟到概率/迟到概率 = 0.2/0.6 = 33.3%
    堵车 P(B|C) = P(BC)/P(C) = 堵车&迟到概率/迟到概率 = 0.5/0.6 = 5/6
  3. 二叉树遍历,移植前序&中序,求后序

    1
    2
    3
    4
    5
    6
    7
    8
    对于
    A
    / \
    B C

    前序指 ABC
    中序指 BAC
    后序指 BCA

    最后解为

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        1
    / \
    / \
    / \
    2 4
    \ /
    3 5
    / \
    6 9
    \
    7
    \
    8

    后序为 3-2-8-7-6-9-5-4-1