算法网站(学习算法)

现如今学习算法的困难在于学习资料过多,水平参差不齐,难度高低不一,初学者很难发掘一条清晰明确的学习路径。另一方面,算法的一大难点在于编程实现,目前大部分学习资料的程序范例基于 C,C++,Java,对于机器学习或前端领域的学习 / 从业者不一定友好,因此本文将循序渐进的介绍评价较好的学习资料和平台,帮助你舍弃糟粕,规划学习路线,提高练习强度。入门级别入门级别的书籍可以分为兴趣培养和基础介绍两个方向。此阶段重点培养兴趣,注重易读性,同时兼顾算法原理。兴趣类书籍我推荐克里斯托弗·斯坦纳的《算法帝国》(豆瓣评分 7.2)。这其实是一本故事书,如果你不能理解算法的强大,可以通过这本书了解算法是如何在潜移默化之中对日常生活带来的巨大影响和变革。这是一本培养你兴趣的书籍,可以作为枕边书,供闲暇时间消遣。真正介绍算法的入门类书籍,《算法图解》(豆瓣评分 8.4)十分优秀。相比于枯燥的教科书,这本书的表达要有趣得多,图解的形式也更加便于理解,对于新手来说十分友好。这本书的好处在于,它可以帮助你以一个轻松的方式快速对算法产生直观的认识和思考。其缺点则是缺乏足够的深度,系统性也没有特别好,但毋庸置疑,是很好的入门书。另外《大话数据结构》(豆瓣评分 7.9)是国内作者写的入门书籍中相当优秀的一本书。它同样面对新人读者,以一种趣味化的方式讲解数据结构和相关算法的知识。进阶进别在这一阶段,应该对算法和数据结构拥有更系统化和深入的了解。包括存储机制,资源消耗,每种数据结构和算法的特点及使用场景。最好能多加思考,了解算法的来源,目的,以及发展趋势。在书籍方面,《数据结构与算法分析:C 语言描述》(豆瓣评分 8.9),《数据结构与算法分析:C++ 描述》(豆瓣评分 8.5),《数据结构与算法分析:Java语言描述》(豆瓣评分 8.6)是三本经典书籍,内容较为系统化,讲解较为深入严谨,也被很多学校用作教材。对于前端从业者,有《数据结构与算法JavaScript描述》(豆瓣评分 6.5)和《学习JavaScript数据结构与算法》(豆瓣评分 7.2)两本基于 JS 的算法书。但是这两本书的评价都比较一般,显然不足以称为经典,但是市面上使用 JS 描述算法的书籍少之又少,其中的描述和代码实现可以作为 JS 工程师的借鉴。《数据结构与算法:Python语言描述》(豆瓣评分 7.4)是一本比较系统化的以 Python 为实现的书籍。本书的作者是北京大学数学科学学院的教授,在严谨性和系统性上有所保证,是一本实用的书籍。课程方面,麻省理工学院的算法导论公开课质量很高,干货充足。在网易公开课上有全部课程的中文翻译。你也可以选择北京大学的数据结构与算法公开课,在 Coursera,edX 上均有免费课程,中国大学 MOOC 也有很多国内顶尖学校提供的公开课,可以免费学习。另外这个旧金山大学提供的有趣网站可以帮助你非常好的了解算法和数据结构的运行原理。它可视化的描述了常用的算法和数据结构。麻省理工学院研究生课程:《高级数据结构》(Advanced Data Structures)是一门高质量的进阶课程,课程难度较大,讲解了数据结构方面的主要研究成果和最新发展方向。适合掌握好一定基础后提高学习。任何级别可以说大部分程序员都在学习算法与数据结构的路上不断前进,高手与进阶的界限其实十分模糊。在任何阶段,一些公认的经典著作都具有深刻的价值。因此,无论是面对新手还是进阶级别的从业者,经典都值得推荐。《算法》(豆瓣评分 9.4),公认的经典之一,也许是必备的工具书。《算法导论》(豆瓣评分 9.3),另一本经典著作,被作为很多学校的教科书。《计算机程序设计艺术》(豆瓣评分 9.4),这本书体量很大,内容经典,难度也相对较大,广受业界认可,值得一读。求职面试《剑指 Offer》(豆瓣评分 8.3)《编程之美》(豆瓣评分 7.6)是两个经典的求职类书籍,里面涉及的算法均为面试经典算法。但书籍的缺点在于不方便求职者实战,而且求职市场风云变幻,除去经典题目外,每年也有不同的动向,书籍无法涵盖新题型和题解。在线技术平台 LeetCode 可以很好的弥补书籍这种介质所带来的不足。其收录经典题库,拥有社区和竞赛鼓励学习,可以在 web 端编程,支持 13 种语言,不仅可以作为面试时的题库,也可以平常看书时练习的平台。中文官方网址:https://leetcode-cn.com/结语算法的学习是一个长期,甚至终身的过程,切忌浮躁和急于求成。对程序员来说,算法和数据结构将陪伴整个职业生涯,在漫长的职业生涯里,对算法的学习应当一直坚持。作为学生,也应该先明确方向,再系统化学习。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/39519.html

kuaisubeian