这本“算法宝典”讲得透彻,完全掌握后,我竟拿到字节跳动offer
前言
字节跳动,相信大家都已经对这家公司很熟悉了,尤其是近几年来,对它的认识也在不断刷新,它惊人的发展速度确实让行业内人刮目相看,如今很多年轻人也想要挤进字节跳动,它越来越火热,自然也就越来越难进了!
对于字节跳动,我也有不一样的情愫,毕业后就开始着手准备面试的事情,字节跳动也是我的目标之一。在面试前,我做了不少功课,众所周知的是字节对于算法的要求是很高的,算法算是字节面试必问的,也是成功的关键之一。所以,提前刷一刷算法题很有必要,而我也特意整理到了一份难得的“算法宝典”,这本宝典讲各大算法题讲得非常透彻,花了一些时间啃透后,我竟真拿下了字节跳动的offer。
程序员与算法
- 什么是算法
- 程序员必须要会算法吗?
- 算法的乐趣在哪里?
- 算法与代码
算法设计的基础
- 程序的基本结构
- 算法实现与数据结
-
数据结构和数学模型与算法的关系
算法设计的常用思想
- 贪婪法
- 分治法
- 动态规划
- 解空间的穷举搜索
阿拉伯数字与中文数字
- 中文数字的特点
- 阿拉伯数字转中文数字
- 中文数字转阿拉伯数字
-
数字转换的测试用例
三个水桶等分8升水的问题
- 问题与求解思路
- 建立数学模型
- 搜索算法
- 算法实现
妖怪与和尚过河问题
- 问题与求解思路
- 建立数学模型
- 搜索算法
-
算法实现
稳定匹配与舞伴问题
- 稳定匹配问题
- Gale-Shapley 算法的应用实例
- 有多少稳定匹配
- 二部图与二分匹配
爱因斯坦的思考题
- 问题的答案
- 分析问题的数学模型
- 算法设计
项目管理与图的拓扑排序
- AOV网和AOE网
- 拓扑排序
- 关键路径算
RLE压缩算法与PCX图像文件格式
- RLE压缩算法
-
RLE与PCX图像文件格式
算法与历法
- 格里历(公历)生成算法
- 二十四节气的天文学计算
- 农历朔日(新月)的天文学计算
- 农历的生成算法
实验数据与曲线拟合
- 曲线拟合
- 最小二乘法曲线拟合
- 三次样条曲线拟合
非线性方程与牛顿迭代法
- 非线性方程求解的常用方法
- 牛顿迭代的数学原理
-
用牛顿迭代法求解非线性方程的实例
计算几何与计算机图形学
- 计算几何的基本方法
- 直线生成算法
- 圆生成算法
- 椭圆生成算法
- 多边形区域填充算法
音频频谱和均衡器与傅里叶变换算法
- 实时频谱显示的原理
- 离散傅里叶变换
- 傅里叶变换与音频播放的实时频谱显示
- 破解电话号码的小把戏
- 离散傅里叶逆变换
- 利用傅里叶变换实现频域均衡器
全局最优解与遗传算法
- 遗传算法的原理
- 遗传算法求解 0-1 背包问题
计算器程序与大整数计算
- 哦,溢出了,出洋相的计算器程序
- 大整数计算的原理
- 大整数类的使用
RSA算法——加密与签名
- RSA算法的开胃菜
- RSA算法原理
- 数据块分组加密
- RSA签名与身份验证
数独游戏
- 数独游戏的规则与技巧
- 计算机求解数独问题
- 关于数独的趣味话题
A*寻径算法
- 寻径算法演示程序
- Djkstra算法
- 带启发的搜索算法一A*算法
俄罗斯方块游戏
- 俄罗斯方块游戏规则
- 俄罗斯方块游戏人工智能的算法原理
- Pierre Dellacherie算法实现
博弈树与棋类游戏
- 棋类游戏的AI
- 井字棋——最简单的博弈游戏
- 奥赛罗棋(黑白棋)
-
五子棋
结尾
实际上,无论是面试字节跳动,还是其他一线互联网大厂,多多少少都会被问到算法问题,实际上,算法题都是“换皮不换里”,因此,想要拿下大厂offer,偶尔刷一刷算法提,学会举一反三是很有必要的。