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. 为什么后台返回的日期我输出处理了在苹果手机里显示NAN?

      现象:   //结束时间var ent_time ="2018-04-28 09:36:00"alert((Date.parse(new Date(ent_time))));/ ...

  2. Case Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...

  3. 对Python语法简洁的贴切描述

    很多人认为,Python与其他语言相比,具有语法简洁的特点.但这种简洁到底体现在哪些地方,很少有人能说清楚.今天看到一个对这一问题的描述,个人觉得很不错,原文如下: “Python语法主要用来精确表达 ...

  4. 微信小程序通过api接口将json数据展现到小程序上

    实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1& ...

  5. c语言中 *p++ 和 (*p)++ 有什么区别?以及C语言运算符的优先级。整理。

    *p++是指下一个地址. (*p)++是指将*p所指的数据的值加一. C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样:在(*p)+ ...

  6. 汇编中resb这样的指令是什么意思?

    转载下来,方便以后查看 原作网址:http://blog.csdn.net/m1j2t3/article/details/5681657 汇编中resb这样的指令是什么意思? 还有我在汇编程序中看到这 ...

  7. git配置config记住密码

    设置记住密码(默认15分钟): git config --global credential.helper cache如果想自己设置时间,可以这样做: git config credential.he ...

  8. day 6 老王开枪打人

    1.图示 2 程序 1)版本1:框架的搭建 def main(): '''用来控制这个程序的流程''' pass #1.创建alex对象 #2.创建1个枪对象 #3.创建1个弹夹对象 #4.创建子弹对 ...

  9. day 3 list列表生成式

    1.定义一个list列表,里面元素是0-33 a = [] i = 0 while i<33: a.append(i) i+=1 print(a) [0, 1, 2, 3, 4, 5, 6, 7 ...

  10. WPF Style Setter use a TemplateBinding?

    <Style TargetType="{x:Type local:ImageButton}"> <Setter Property="Horizontal ...