2020年3月下旬算法讨论1

1. 编程题训练方法和积累思路

解决问题分为2步

  1. 有解题思路 => 记忆思路,多刷几次,形成题目->思路快速映射记忆,并在面试前进行快速回顾。
  2. 思路转换为代码 => 明确思路,明确定义变量的含义。 分类刷题,摸索总结思路,总结题型(比如循环不变量,递归)

2. 二分查找

循环不变量

  1. 明确变量定义
  2. 改变变量定义
  • 总结: 如何写出正确的程序

3. 快速排序和partition函数

视频作者的代码

  • 快速排序的主体

  • partition实现

  • 手写过程

4. 递归和系统调用栈的关系

  1. 反转链表(递归和迭代) // 未处理

  2. 以二叉树前序遍历讲解: 递归和系统调用栈的关系

  3. 从尾到头打印链表(借助栈或直接利用系统调用栈 )

    TODO: 该题是否有空间复杂度为O(1)且不用递归的实现方式。

其他

补充的资料,关于函数调用栈

猜你喜欢

转载自www.cnblogs.com/yudidi/p/12547193.html