算法数据结构面试常问题

1、数据结构

  • 索引提到了B树
  • 数组和链表的区别,树是用什么存储的,可不可以用数组存储
  • 快排的时间复杂度(NlogN)、最坏情况(N^2)
  • 数据结构上的堆和栈有什么区别、底层结构是什么
  • 红黑树
  • 最大的K个数用什么排序算法,复杂度、同样是NlogN, 快排和堆排序有什么区别。

2、算法题:

  1. 写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名
  2. 找出这两个链表是否有相交的点
  3. 判断链表有没有环,环起点在哪儿。
  4. 手撕topk,时间复杂度是多少。
  5. 写个算法,实现抢红包随机获取金额的过程参考
  6. 链表反转
  7. 两数之和(leetcode第一题~、~)
  8. 判断一个字符串是否为另一个字符串子串(暴力写的)
  9. 股票最大利润
  10. 实现单链表前后交叉排序:1,2,3,4,5,6 变成 1,4,2,5,3,6
  11. 因式分解
  12. 有序二叉树,一种遍历方法使之有序,中序遍历。
  13. 非递归实现先序遍历
  14. 找无序数组中第k个数(一开始说用堆实现、后来我又想着用快排的partation实现)
  15. 算法题:从字符串S变到T,插入消耗2、删除消耗2、替换消耗3、求最小
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值