【笔试面试】经典笔试题整理

以下内容全部整理自网络。


===========================

  1. 把整数关键码K散列到N个槽列表,最好的散列函数是:
    h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整数
  2. 初始数据集的排列顺序对算法的性能无影响的是:堆排序
    堆排序:最优时间复杂度O(nlogn)最差时间复杂度O(nlogn)平均时间复杂度O(nlogn)
  3. 你认为可以完成编写一个C语言编译器的语言是:
    A:汇编 B:C语言 C:VB D:以上全可以
    答案:D
  4. n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。
    A:18    B:24   C:21  D;不可能
    答案:A, 对2013用除法,显示
    2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->1
    正向只能是+1和×2,所以逆向只能-1和/2,由上过程可得18次
  5. 某二叉树的前序遍历序列为-+a*b-cd/ef,后序遍历序列为abcd-*+ef/-,问其中序遍历序列是——。
    答案:a+b*c-d-e/f
  6. 在c++程序中,如果一个整型变量频繁使用,最好将他定义为:寄存器变量
  7. 下列序排算法中最坏复杂度不是n(n-1)/2的是_(D)
    A.快速序排     B.冒泡序排   C.直接插入序排   D.堆序排




你可能感兴趣的:(【笔试面试】经典笔试题整理)