Grokking Algorithms 算法图解 一本基于Python的算法科普读本

Grokking Algorithms算法图解是由美国软件工程师Aditya Bhargava写的一本算法科普读物,由图灵教育引进,组织翻译之后17年三月份正式出版,目前来说知名度还不是很高。


毕设做差不多之后,我买了这本书来看。第一感觉,书很薄,总共也才不到两百页。全书共分为11章,分别是

1 算法简介

这一章以一个非常简单且熟知的例子,二分查找来作为起步,介绍了时间负责度的概念,稍微提了一下旅行家问题。

2 选择排序

这一章以选择排序为例子,简单介绍了内存的工作原理。着重介绍了数组和链表。讲了半天数组和链表的区别,其实是在说顺序存储模式与链式存储模式的区别,数组采用的是顺序存储模式,占用的内存空间是连续的,优点是支持随机访问,这在很多应用场景中非常重要,但是插入与删除操作比较困难,同时由于占用内存连续,还可能造成内存碎片化。链表采用的是链式存储结构,不要求连续占用内存,并且插入和删除操作都非常方便,缺点就是不能随机访问,只能顺序访问。作者提了一个问题,Facebook记录用户名该用什么,数组or链表(当然Facebook用的既不是数组也不是链表)?还挺有思考价值的,最后提出了一种链表数组这种混合数据。

3 递归

递归思想在很多同学入门的时候还是挺难理解的,这里作者用了个很简单的例子清晰的表明了这个概念,但是不知道为何扯到了调用栈上去了……

4 快速排序

5 散列表

6 广度优先搜索

7 狄克斯特拉算法

8 贪婪算法

9 动态规划

10 K最近邻算法

11 接下来如何做


目前就看到第三章,后面内容后面再更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值