听起来高大上的“算法”,其实一点也不难学。这次介绍的是关于运行在计算机上面的算法,正如你日常所运行的算法会影响你每天的生活一样,在计算机上运行算也会影响你的算法。我们可以利用计算机搜索信息的简单方式解决各种排序问题的方法,利用有向无环图和最短路径方法解决基本问题。
第1章 什么是算法以及为什么应该关注算法
第2章 如何描述和评估计算机算法
第3章 排序算法和查找算法
第4章 排序算法的下界和如何超越下界
第5章 有向无环图
第6章 最短路径
第7章 字符串算法
第8章 密码学基础
第9章 数据压缩
第10章 难?问题
左程云老师用3个小时讲明白了字节跳动的两道最新面试题:
1、已知一个搜索二叉树后序遍历的数组posArr, 请根据posArr,重建出整棵树 返回新建树的头节点 2、给定长度为m的字符串aim,以及一个长度为n的字符串str 问能否在str中找到一个长度为m的连续子串, 使得这个子串刚好由aim的m个字符组成,顺序无所谓, 返回任意满足条件的一个子串的起始位置,未找到返回-1