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