算法问题

104 阅读1分钟

一:算法问题

1:各排序及时间复杂度(必问)


冒泡排序 合并排序 快速排序
最坏时间复杂度 n2 nlog(n) n2
最好时间复杂度 n2/n nlog(n) nlog(n)
平均时间复杂度 n2 nlog(n) nlog(n)
最坏空间复杂度 1 n log(n)

代码如下:

冒泡排序 - 简书

快速排序 - 简书

归并排序 - 简书

十大经典排序算法 - 菜ME鸟 - 博客园

2:链表反转(有些公司会让手写)

单链表反转总结篇 - BYRHuangQiang - 博客园

3:动态规划

动态规划问题有很多,这里只讨论两个问题:

  1. 取子数组的最大和
  2. 01背包问题 动太规划 - 简书