为了账号安全,请及时绑定邮箱和手机立即绑定
编程百科手册

扫一扫 手机阅读

课程目录已更新20节
全部 试读

公告

各位同学们,大家好:
春节将至,专栏组的小伙伴们也要回家过年啦。所以在 1 月 24 日~ 2 月 2 日放假期间,所有专栏课程停止更新。如有不便,敬请谅解!
祝大家在新的一年里万事如意,学习愉快! ### 课程亮点

  • 算法小白也可以读懂的算法入门书
  • 以 Python 语言作为载体,降低学习难度
  • 选择经典算法的经典问题,通用性高
  • 全面掌握常见算法的核心知识点
  • 有故事、有思路、有趣味、有深度地感受算法魅力
  • 语言生动、贴近生活、浅显易懂地感悟算法精髓

课程简介

为什么要学算法?这个问题一百个人会有一百个答案。有人是为了感受数学之美;有人是为了攻克大厂面试;有人是爱好打算法竞赛;有人是为了提高代码质量;有人是为了改变思维方式;有人是为了提高效率;有人是为了获取更高的薪水……

这所有的理由,都可以归结为一句:算法是代码的灵魂。

随着编程学习的深入,大家自然会发现算法才是编程的核心,这也是为什么像 Google、Facebook、阿里巴巴等这类大公司在面试中主要会考查算法的原因。并且,很多算法的智慧都可以应用到我们的生活中去,甚至可以作为我们日常聊天的谈资。因此,算法的知识不仅对计算机专业的同学有用,非计算机专业的大家也应有所了解。

学习算法不是一件容易的事情,再加上复杂的场景和数学理论,会让算法的学习曲线更陡。为帮助大家理解,本专栏中使用了大量的代码和图表与通俗易懂的语言,去帮助大家理解程序的精髓 —— 算法,让学算法像读小说一样有趣。

同时,选择了 Python 这门简单易懂的语言作为本书的编程语言。对于初学编程的人来说,Python 可以缩短学习编程语言的时间和降低编程学习的难度。使得我们可以更加关注算法本身的魅力,而不是拘泥于复杂的语法结构之中。

算法离不开数据结构,为此,本专栏选取了几大经典算法和数据结构进行讲解,算法和数据结构的学习也能充分锻炼学生的编程和解决问题的能力。

王硕,资深软件工程师,从事计算机相关课程教学多年,擅长 Java、Python、数据结构和算法等课程,有丰富的 Python 和算法课程的教学经验。致力于企业级软件开发和计算机教育工作,具有索尼中国研究院和四大国有银行软件开发中心的工作经历。著有编程畅销书《你也能看得懂的 Python 算法书》。

专栏模块:
本专栏共 8 个模块,42 个小节,涵盖排序算法、哈希算法、深度优先算法、广度优先算法、动态规划、分治算法,帮助同学们全面掌握核心算法的知识点。

第 1 章:你需要了解的算法基础
本章详细介绍了算法的本质、意义和应用。在了解算法本质的同时,要掌握时间复杂度和空间复杂度来判断一个算法的效率和实用性。时间复杂度和空间复杂度是衡量一个算法优劣的标尺。

第 2 章:人见人爱的 Python
掌握 Python 是之后学习算法的基础,本章介绍 Python 的基础语法,让你快速入门 Python。

第 3 章:排序算法
本章讲解了八种常用排序算法,重点在于理解各个排序算法的核心思想,并把它们应用到其他算法中去。

第 4 章:哈希算法
哈希算法也是一种查找算法,应该说哈希算法是最快的查找算法。使用哈希算法解决查找问题,不仅效率高、代码少而且容易理解,日后遇到查询问题能用哈希算法的时候,一定要记得使用哈希算法。

第 5 章:分治算法
分治算法的主要思想是将原问题分成若干个子问题,解决这些子问题再最终合并出原问题的答案。在计算过程中,子问题会被递归地分解成更小的子问题,直到子问题满足边界条件。最后,算法会层层递回原问题的答案。

第 6 章:深度优先搜索算法
深度优先搜索算法是经典的图论算法,深度优先遍历算法的搜索逻辑和它的名字一样,只要有可能,就尽量深入搜索,直到找到答案,或者尝试了所有可能后确定没有解。

第 7 章:广度优先搜索算法
广度优先遍历与深度优先遍历类似,也是查询的方法之一,它也是从某个状态出发查询可以到达的所有状态。但不同于深度优先遍历,广度优先遍历总是先去查询距离初始状态最近的状态,而不是一直向最深处查询结果。

第 8 章:动态规划算法
动态规划是一种算法设计技术,通常用于求解最优化问题。它和分治方法很类似,都是通过划分并求解子问题来获得原问题的解。但与分治方法将子问题递归求解不同,动态规划旨在剔除递归中的重叠子问题,对每个子问题只求解一次,从而可以极大地节省算力资源。

课程目录已更新20节
适合人群
  • 需要全面系统学习算法的学员
  • 希望提升自身算法水平的学员
  • 想要提高自身编程能力的学员
购买须知
  1. 本专栏为图文形式内容服务,共计 43 小节,上线时间为 2019 年 12 月 10 日,预计 2020年 3 月 10 日更新完成;
  2. 本专栏更新时间为每周 1,3,5 更新 1 篇(法定节假日顺延),形式为图文;
  3. 订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
  4. 慕课专栏为虚拟内容服务,订阅成功后概不退款;
  5. 在专栏阅读过程中,如有任何问题,请邮件联系kf@imooc.com;
  6. 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。
造烛求明,读书求理
扫码关注慕课网服务号
干货分享
定期活动
课程优惠
专栏福利
官方优惠福利活动一手掌握,关注慕课网(ID:imooc-com),和30万+程序员一起成长!

本专栏知识点梳理

1.阅读本专栏需要一定的Python基础,可参考:

2.如果想了解更多与算法相关的内容,可参考

下载慕课网APP

更好的体验,让阅读随处可得

扫描二维码,下载慕课网APP
意见反馈 帮助中心 APP下载
官方微信