zoukankan      html  css  js  c++  java
  • 面试题积累(二)

    题目5:以下哪项不是链表优于数组的特点?

    1.方便删除

    2.方便插入

    3.长度可变

    4.存储空间小

    分析:

           选4,非常显然,链表添加了存储的空间。链表由一系列结点(链表中每个元素称为结点)组成,结点能够在执行时动态生成。每个结点包含两部分:一个是存储数据元素的数据域,还有一个是存储下一个结点地址的地址域。


    题目6:T(n) = 25T(n/5)+n^2的时间复杂度是什么?

    分析:

            对于T(n) = a*T(n/b) + c*n^k;T(1) = c这种递归关系。有例如以下结论:

           if (a > b^k)  T(n) = O(n^(logb(a)))

           if (a = b^k)  T(n) = O(n^(k*logn))

           if (a > b^k)  T(n) = O(n^k)

           题中 a = 25 b = 5 c = 1 k = 2,a = b^k,T(n) = O(n^2logn)

           推导例如以下:(记结论比較靠谱)

          

    T(n) = 25T(n/5)+n^2 
    = 25(25T(n/25)+n^2/25)+n^2
    = 625T(n/25)+n^2+n^2 = 625T(n/25) + 2n^2
    = 25^2 * T( n/ ( 5^2 ) ) + 2 * n*n
    = 625(25T(n/125)+n^2/625) + 2n^2
    = 625*25*T(n/125) + 3n^2
    = 25^3 * T( n/ ( 5^3 ) ) + 3 * n*n
    = ....
    = 25 ^ x * T( n / 5^x ) + x * n^2
    
    T(n) = 25T(n/5)+n^2
    T(0) = 25T(0) + n^2 ==> T(0) = 0
    T(1) = 25T(0)+n^2 ==> T(1) = 1
    
    x = lg 5 n
    
      25 ^ x * T( n / 5^x ) + x * n^2
    = n^2 * 1 + lg 5 n * n^2
    = n^2*(lgn)
    

    题目7:n个顶点、m条边的全连通图,至少去掉几条边才干构成一棵树?

    分析:

                n个顶点的树一定有n-1条边。因此有m条边的全连通图要构成树仅仅须要去掉 m-(n-1) = m-n+1条边就能够了


    *题目8:正則表達式(01 | 10 | 1001 | 0110)*与下列哪个表达式一样?

                1.(0 |1)*

                2.(01|01)*

                3.(01|10)*

                4.(11|01)*

                5.(01|1)*

     分析:

                3. 1001和0110都能够用 (01|10)*生成。所以,题目等价于(01|10)*


    题目9: 怎样降低换页错误?

                 1.进程倾向于占用CPU

                 2.訪问局部性(locality of reference)满足进程要求

                 3.进程倾向于占用I/O

                 4.使用基于最短剩余时间(shortest remaining time)的调度机制

                 5.降低页大小

    分析:

           首先排除1和3,由于訪问快慢和接口对于“错误”是没有影响的,并且题目中的要求是降低错误而不是消除错误,因此这个错误肯定存在。

    然后排除5,页面降低未必错误会降低。

    对于2局部性并不能减低发生错误的概率。下面是换页错误的定义:换页错误,即Page fault。依照主流的翻译,应该叫做缺页异常。众所周知。每一个进程都有一段自己的独立的虚拟内存空间。可是这些虚拟内存并非全然映射到物理内存上的。当一个程序试图訪问没有映射到物理内存的地方时。就会出现缺页异常,这时操作系统要做的是要将这段虚拟内存映射到物理内存上。使其真正“可用”。

    换页错误并非如名字所看到的的是一个真正的错误,这是现代操作系统中很常见的一种现象。

    採用最短剩余时间调度机制:
    SRT算法(SPN算法的抢占式版本号):总是选择剩余时间最短的进程执行
    为什么会降低换页错误呢?由于时间短的结束执行快,不须要频繁切换进程(导致刷新内存)。所以换页发生错误的概率就降低了

    因此答案是4.





    
  • 相关阅读:
    倍增或线段树,给出一个数,让它模一连串的数
    江西财经大学第一届程序设计竞赛
    L2-027. 名人堂与代金券
    hdu 3038 给区间和,算出多少是错的
    cf166e 在四面体上寻找路线数 递推,取模
    cf946d 怎样逃最多的课dp
    PAM练习
    PAM模板
    E. Erase Subsequences dp
    CSU2004:Finding words(含指定不相交前后缀的模式串计数)
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7249576.html
Copyright © 2011-2022 走看看