java版本 剑指offer2

2020-06-16  本文已影响0人  陈桐Caliburn

重点

1、基本功

基础知识反映一个人基本能力和基础素质,是以后工作中最核心能力要求
1、数据结构和算法
2、编程能力
3、部分数学知识,如概率
4、问题的分析和推理能力

综上我理解基本功
1、计算机系统基础知识
2、算法和数据结构
3、java虚拟机
4、并发控制
5、专业编程语言

tip要点

1、时间复杂度O(n2) 不足以拿到offer
2、递归实现比循环简单,如面试官无特殊要求,尽量采用递归
3、应聘者应信手拈来二分查找,否则连继续面试兴趣都没有

自上而下 递归
自下而上 动态规划
剪枝:分解子问题,是不是存在特殊的选择

回溯法 递归

递归 :一个函数的内部调用这个函数自身
循环 :通过设置计算的初始值及终止条件,在一个范围内重复运算

递归本质:把一个问题分解成两个或者多个小问题,如果多个小问题存在相互重叠部分,就存在重复计算

动态规划解决问题时,先采取递归的思路分析问题,剪枝(重复计算),在用自下而上循环来实现

认识自己
化繁为简

查找分顺序查找、二分查找、哈希表查找、二叉树查找

二叉树


image.png image.png

如何根据遍历顺序还原一颗二叉树

始终寻找中间点,来排序

红黑树

2、

剑指offer2 git地址

https://github.com/yinlingchaoliu/SwordOffer

上一篇下一篇

猜你喜欢

热点阅读