[面经汇总](四)算法

排序算法

有几种排序算法,介绍一种

快排问题(高频)

快排代码(手写)
讲解一下快排

冒泡排序(高频)

手写冒泡排序和优化
如何判断冒泡排序复杂情况

希尔排序

讲一下希尔排序原理

插入排序

介绍一下插入排序
手写代码并测试

归并排序

查找算法

二分查找

数据结构

红黑树、B树、B+树;

手撕算法

链表

  • 链表判断是否有环
  • 链表找到环入口
  • 两个链表交点

  • 二叉树层次打印
  • 非递归二叉树的前中后序打印

其他

  • 中位数
  • 全排列

数组

  • 输入数组,输出所有子集;思路伪代码
  • 数组交换使得偶数左边,奇数右边
  • 数组中的重复数字

字符串

  • 字符串翻转
  • 最长不重复的子字符串
  • 字符串找最长重复子串
  • 统计字母字符串中个字母重复次数,按字母表序排序输出如:a3b1d5t8这样(高频)
  • 给你只包含 ‘’ 和字母的字符串,把所有 '’ 移到前面,其他字母顺序不变

手写

手写双重检索单例
手写线程交替运行(打算用lock锁做的,但没写好)
手写数据库连接

经验

Java开发/研发岗 对算法的要求并不高,刷透剑指OFFER

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页