实用算法复习

实用算法复习

填空题(2’/空)

  1. 逻辑结构与计算机系统无关
  2. 链表是链式存储结构
  3. 插入排序是在未排序的序列中选择第一个元素插入有序队列
  4. 堆排序的大根堆是完全二叉树
  5. 计算递归代码输出结果(Fib数列n=5):5
  6. 检查括号匹配用到的数据结构是
  7. [0,m]循环队列的入队操作:rear=(rear+1)%(m+1)
  8. 红黑树插入节点后调整运用的是翻转变色
  9. BM算法两个原则是坏字符好后缀
  10. 双层for循环计算时间复杂度:O(n^2)或者O(n(n-1)/2)
  11. 检查最长重复字符串用到的数据结构是后缀数组

算法分析题

  1. 写出KMP利用nextval数组的字符串匹配过程(10’)
  2. 位图法检测n个无符号整型数据中某个数是否只出现一次(15’)
    (1)位图法int数组的大小:数组int[a],a=Math.max(n)/32+1(5’)
    (2)位图法检测某个数是否出现一次的具体实现方法:位图法的具体实现过程(略),可以利用count计数器,count==1表示只出现一次(10’)
  3. AVL树建立过程,给了一个序列,自己建树(10’)
  4. trie树存储了哪些数据项(6’)

综合分析题(25’)

统计300万搜索单词中出现频度最高的10条数据,无内存限制,采用哈希表统计+排序
(1)哈希表中的key此处是什么?
(2)阐述算法设计思路,用伪代码或者流程图表示
(3)哈希完利用什么排序算法最高效?给出你的排序算法思路并分析时空复杂度

注:部分忘了,见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值