首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

强烈推荐一本免费算法书《用Python解决数据结构与算法问题》

题图:Photo by Luc Tribolet on Unsplash

学 Python 仅仅只学 Python 语法和 API 是远远不够的,掌握算法和数据结构这种永远都不会过时的核心技能才是决定一个程序员职业发展的关键因素。算法和数据结构对专业程序员来说重要性不言而喻,同样一个问题,不同算法效率可谓千差万别。在问题规模很小的时候你可能感知不到,但是一旦数据上升到TB级别,两者的差距就像西瓜和芝麻的差别了。

举个简单例子:我们要计算前n个整数之和,你最先想到的算法可能是迭代:

代码非常直观,初学者都能读懂,就是从1累加到n,得到最后的结果。这种算法的效率随着n的增加而变化,时间复杂度是O(n),线性时间,大O表示法指出了最糟糕情况下的运行时间。

想象一下,这个数足够大的时候,所耗费的时间将是无法估量的,当然,还有很多比线性时间更糟糕的算法。

当然,最后还有一种最理想的算法,就是常数级别的,O(1) 常数级复杂度。也就是说程序运行的时间与需要处理的数据大小无关。

如果利用数学方程而不是迭代来计算前n个整数的和,他的复杂度就是 O(1)

Google这样大数据公司,数据都是以TB为单位的数据量,索引的网页数量超过1万亿的情况下,没有牛逼的算法,难以撑起一个巨无霸公司。很多人觉得学算法没什么用,因为工作上就是调API,写写业务逻辑,学这些干什么?如果这么想,那你永远都是在写业务逻辑代码,写到35岁转行。

现在学算法还来得及吗?除了生孩子,做任何事情都不会被年龄限制。推荐这本《problem-solving-with-algorithms-and-data-structure-usingpython》,感谢作者和译者的付出。

在线阅读地址:

https://facert.gitbooks.io/python-data-structure-cn/2.%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/2.2.%E4%BB%80%E4%B9%88%E6%98%AF%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/

PDF 下载地址:公众号回复“算法”

关注公众号

每天让自己更厉害一点点

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731B1AYA000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券