Did you get through all of that content? Congratulations! You've learnt the fundamentals of algorithms, plus a lot of example algorithms.

There is much more to learn, if you want to dig deeper. Just look at Wikipedia's list of algorithms - there are thousands of them out there, plus there are the ones in your head that haven't made it into programs yet.

Thomas Cormen, co-author of this content, has also co-authored two books on algorithms:

  • Introduction to Algorithms: This is the most popular college textbook for algorithms. It is both rigorous—proving that algorithms are correct and have the claimed running times—and comprehensive—covering dozens of algorithms in over 1300 pages.
  • Algorithms Unlocked: This is targeted more at readers who want to get a taste of algorithms and how to analyze them. It's less mathematical than Introduction to Algorithms, and it includes a little more in the way of intuition and applications.

Other recommended books are The Algorithm Design Manual and Algorithm Design.

There are also several free 2-part courses offered online on Coursera:

  • Algorithms, I & II: An introductory course covering "basic iterable data types, sorting, and searching algorithms in Java".
  • Algorithms: Design and Analysis Part I & II: An introductory course that covers the "fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures, randomized algorithms, and more" while being language agnostic.

We do plan to keep adding to this content here on Khan Academy, so check back here every few months for updates.

随机推荐

  1. flask第三方插件DBUtils

    django中有强大的ORM支持我们来操作数据库, 但是flask没有提供对数据库的操作, 依然还是需要第三方的支持, 来提高我们的开发效率. 下载DBUtils 使用DBUtils 使用DBUtil ...

  2. Postgresql 入门笔记

    引言     最近整理了一些PostgreSQL的 常用命令,仅供参考   1. 入门命令 # 重启数据库 $ service postgresql-9.5 restart # 登陆: $ psql ...

  3. PHP在foreach中对$value赋值

    foreach ($data as $key => $value) { $data[$key]['name'] = '测试在value中赋值';}

  4. 20190118-自定义实现replace方法

    1.自定义实现replace方法 Python replace() 方法把字符串中的 old(旧字符串) 替换成 neange(新字符串),如果指定第三个参数max,则替换不超过 max 次.考虑ol ...

  5. Zabbix 3.4.11监控 apache服务,ftp服务的配置

    一 zabbix 的安装部署 略 二监控 apache服务的配置 首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/m aster. ...

  6. 关于具有I2C总线的TEA6320的使用

    现在先了解一下TEA6320,TEA6320是一个I2C总线控制音响应用的立体声放大器,,它的I2C协议和音量控制如下: 它的主要代码: void delay1ms(unsigned int Dela ...

  7. java web 开发模式

    1.Model1 javaBean+jsp:jsp直接操作数据库,不安全,开发维护复杂 2.Model2:MVC 原理:把Model1的操作javaBean操作抽取为控制层 实现:控制层使用servl ...

  8. clr via c#读书笔记四:call、callvirt

    1.嵌套类,就是定义在类中的类:嵌套类可以访问外部类的方法.属性.字段而不管访问修饰符的限制,但是外部类只能够访问修饰符为public.internal的嵌套类的字段.方法.属性: 2.CLR如何调用 ...

  9. spring源码-增强容器xml解析-3.1

    一.ApplicationContext的xml解析工作是通过ClassPathXmlApplicationContext来实现的,其实看过ClassPathXmlApplicationContext ...

  10. hdu5698瞬间移动(杨辉三角+快速幂+逆元)

    瞬间移动 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...