玩转算法面试 从真题到思维全面提升算法思维

8
回复
2140
查看
[复制链接]
  • TA的每日心情
    擦汗
    2023-5-6 02:41
  • 签到天数: 570 天

    [LV.9]以坛为家II

    2593

    主题

    3195

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    16482
    发表于 2019-3-30 13:12:00 | 显示全部楼层 |阅读模式

    登录后查看本帖详细内容!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    【课程内容】

    第1章 算法面试到底是什么鬼?

    一提起算法面试,很多同学就会心有余悸。可其实,大多数企业的算法面试,并没有那么可怕。并不是一定要啃完整本《算法导论》,才能玩儿转算法面试;也并不是只有ACM参赛选手,才能笑傲算法面试。恰恰相反,大多数算法面试关注的算法思维,其实很基础。在这一章,和大家聊一聊,算法面试,到底是什么鬼?...

    1-1 算法面试不仅仅是正确的回答问题
    1-2 算法面试只是面试的一部分
    1-3 如何准备算法面试
    1-4 如何回答算法面试问题

    第2章 面试中的复杂度分析

    很多同学一提起复杂度分析就头疼,马上想起了《算法导论》中复杂的数学推导。但其实在一般的企业面试中,对复杂度的分析要求并没有那么高,但也是绕不过去的坎儿。在这一章,和大家介绍一下,面试中需要掌握的复杂度分析。...

    2-1 究竟什么是大O(Big O)
    2-2 对数据规模有一个概念
    2-3 简单的复杂度分析
    2-4 亲自试验自己算法的时间复杂度
    2-5 递归算法的复杂度分析
    2-6 均摊时间复杂度分析(Amortized Time Analysis)
    2-7 避免复杂度的震荡

    第3章 数组中的问题其实最常见

    面试中的算法问题,有很多并不需要复杂的数据结构支撑。就是用数组,就能考察出很多东西了。其实,经典的排序问题,二分搜索等等问题,就是在数组这种最基础的结构中处理问题的。在这一章中,我们学习常见的数组中处理问题的方法。...

    3-1 从二分查找法看如何写出正确的程序
    3-2 改变变量定义,依然可以写出正确的算法
    3-3 在LeetCode上解决第一个问题 Move Zeros
    3-4 即使简单的问题,也有很多优化的思路
    3-5 三路快排partition思路的应用 Sort Color
    3-6 对撞指针 Two Sum II - Input Array is Sorted
    3-7 滑动窗口 Minimum Size Subarray Sum
    3-8 在滑动窗口中做记录 Longest Substring Without Repeating Characters

    第4章 查找表相关问题

    查找,是使用计算机处理问题时的一个最基本的任务,因此也是面试中非常常见的一类问题。很多算法问题的本质,就是要能够高效查找。学会使用系统库中的map和set,就已经成功了一半。

    4-1 set的使用 Intersection of Two Arrays
    4-2 map的使用 Intersection of Two Arrays II
    4-3 set和map不同底层实现的区别
    4-4 使用查找表的经典问题 Two Sum
    4-5 灵活选择键值 4Sum II
    4-6 灵活选择键值 Number of Boomerangs
    4-7 查找表和滑动窗口 Contain Duplicate II
    4-8 二分搜索树底层实现的顺序性 Contain Duplicate III

    第5章 在链表中穿针引线

    链表是一种特殊的线性结构,由于不能像数组一样进行随机的访问,所以和链表相关的问题有他自身的特点。我将之称为穿针引线。我们在这一章,就来看一看,如何在链表中穿针引线。

    5-1 链表,在节点间穿针引线 Reverse Linked List
    5-2 测试你的链表程序
    5-3 设立链表的虚拟头结点 Remove Linked List Elements
    5-4 复杂的穿针引线 Swap Nodes in Pairs
    5-5 不仅仅是穿针引线 Delete Node in a Linked List
    5-6 链表与双指针 Remove Nth Node Form End of List

    第6章 栈,队列,优先队列

    栈和队列虽然是简单的数据结构,但是使用这些简单的数据结构所解决的算法问题不一定简单。在这一章里,我们将来探索,和栈与队列相关的算法问题。

    6-1 栈的基础应用 Valid Parentheses
    6-2 栈和递归的紧密关系 Binary Tree Preorder, Inorder and Postorder Traversal
    6-3 运用栈模拟递归
    6-4 队列的典型应用 Binary Tree Level Order Traversal
    6-5 BFS和图的最短路径 Perfect Squares
    6-6 优先队列
    6-7 优先队列相关的算法问题 Top K Frequent Elements

    第7章 二叉树和递归

    递归,是使用计算机解决问题的一种重要的思考方式。而二叉树由于其天然的递归结构,使得基于二叉树的算法,均拥有着递归性质。使用二叉树,是研究学习递归算法的最佳入门方式。在这一章里,我们就来看一看二叉树中的递归算法。...

    7-1 二叉树天然的递归结构
    7-2 一个简单的二叉树问题引发的血案 Invert Binary Tree
    7-3 注意递归的终止条件 Path Sum
    7-4 定义递归问题 Binary Tree Path
    7-5 稍复杂的递归逻辑 Path Sum III
    7-6 二分搜索树中的问题 Lowest Common Ancestor of a Binary Search Tree

    第8章 递归和回溯法

    回溯法是解决很多算法问题的常见思想,甚至可以说是传统人工智能的基础方法。其本质依然是使用递归的方法在树形空间中寻找解。在这一章,我们来具体看一下将递归这种技术使用在非二叉树的结构中,从而认识回溯这一基础算法思想。...

    8-1 树形问题 Letter Combinations of a Phone Number
    8-2 什么是回溯
    8-3 排列问题 Permutations
    8-4 组合问题 Combinations
    8-5 回溯法解决组合问题的优化
    8-6 二维平面上的回溯法 Word Search
    8-7 floodfill算法,一类经典问题 Number of Islands-
    8-8 回溯法是经典人工智能的基础 N Queens

    第9章 动态规划基础

    很多同学听到“动态规划”的名称可能会望而生畏,觉得动态规划的问题都很复杂。但其实,动态规划本质依然是递归算法,只不过是满足特定条件的递归算法。在这一章里,我们就来逐步解开动态规划的神秘面纱

    9-1 什么是动态规划
    9-2 第一个动态规划问题 Climbing Stairs
    9-3 发现重叠子问题 Integer Break
    9-4 状态的定义和状态转移 House Robber
    9-5 0-1背包问题
    9-6 0-1背包问题的优化和变种
    9-7 面试中的0-1背包问题 Partition Equal Subset Sum
    9-8 LIS问题 Longest Increasing Subsequence
    9-9 LCS,最短路,求动态规划的具体解以及更多

    第10章 贪心算法

    通常同学们可能会认为贪心算法比较简单。确实,通常贪心算法的实现非常容易,但是,一个问题是否能够使用贪心算法,是一定要小心的。我们在这一章来看一看,贪心算法可能会有哪些坑。

    10-1 贪心基础 Assign Cookies
    10-2 贪心算法与动态规划的关系 Non-overlapping Intervals
    10-3 贪心选择性质的证明

    第11章 课程结语

    看完整个课程,我不能保证所有的同学都能百分百地对每一个算法面试问题应答自如,但认真学习的同学对大部分问题都应该已经有了一个合理的思维路径。在最后一章,我们再来简单地总结一下,并祝每一位同学都能找到自己喜欢的工作,大展宏图:)...

    11-1 结语

    下载地址
    游客,如果您要查看本帖隐藏内容请回复



    〖下载地址失效反馈〗:

    下载地址如果失效,请反馈。反馈地址: https://www.fstcode.com/thread-5527-1-1.html

    〖赞助VIP免灵石下载全站资源〗:

    全站资源高清无密,每天更新,VIP特权: https://www.fstcode.com/plugin.php?id=threed_vip

    〖客服24小时咨询〗:

    有任何问题,请点击右侧客服QQ咨询。

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-5-3 17:26
  • 签到天数: 199 天

    [LV.7]常住居民III

    4

    主题

    335

    帖子

    1880

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    1880
    发表于 2019-11-4 20:40:44 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-12-2 11:07
  • 签到天数: 65 天

    [LV.6]常住居民II

    1

    主题

    237

    帖子

    1098

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    1098
    发表于 2019-11-10 17:45:35 | 显示全部楼层
    感谢感谢感谢感谢感谢
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-9-25 09:13
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    1

    主题

    27

    帖子

    153

    积分

    练气程序员

    Rank: 2

    积分
    153
    发表于 2020-4-19 10:36:48 | 显示全部楼层
    12345678910
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-6-3 10:35
  • 签到天数: 64 天

    [LV.6]常住居民II

    0

    主题

    94

    帖子

    560

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    560
    发表于 2021-7-17 11:16:30 | 显示全部楼层
    hahahhahha
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-10-21 10:03
  • 签到天数: 96 天

    [LV.6]常住居民II

    0

    主题

    140

    帖子

    858

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    858
    发表于 2021-8-5 13:42:40 | 显示全部楼层
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-1-23 18:30
  • 签到天数: 78 天

    [LV.6]常住居民II

    7

    主题

    90

    帖子

    596

    积分

    金丹程序员

    Rank: 4

    积分
    596
    发表于 2021-8-8 15:43:25 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-3-6 11:06
  • 签到天数: 104 天

    [LV.6]常住居民II

    0

    主题

    127

    帖子

    850

    积分

    金丹程序员

    Rank: 4

    积分
    850
    发表于 2021-8-9 10:22:51 | 显示全部楼层
    ppppppppppppppppppp
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    2

    主题

    53

    帖子

    273

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    273
    发表于 2022-9-9 18:32:03 | 显示全部楼层
    感谢分享!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

     
    在线客服
    点击这里给我发消息 点击这里给我发消息
    用心服务所有程序员,做最好的编程视频网站
    QQ:354410543
    周一至周日 00:00-24:00
    联系站长:admin@fstcode.com

    QQ群(仅限付费用户)

    Powered by "真全栈程序员" © 2010-2023 "真全栈程序员" 本站资源全部来自互联网及网友分享-如有侵权请发邮件到站长邮箱联系删除!