回到课程
算法是一个逐步实现某种结果的过程。当算法涉及大量的输入数据,复杂的操作,或两者兼而有之时,我们需要构造巧妙的算法,让计算机能够快速地处理。
本课程结束时,您将知道测量和比较性能的方法,并将掌握算法中的基本问题。
快速介绍什么是算法以及如何测量它的性能。
作为一名计算机科学家,你会想到想出答案有多难,而不仅仅是答案本身。
使用递归,你可以通过解决小问题来解决大问题。
简单的任务可能需要巧妙的算法,比如帮助新社交网络用户选择用户名。
一个组织数据的强大工具,从插入排序的基本直觉到归并排序等实用算法。
为什么计算机科学家如此担心排序?
开始缓慢!插入排序是对一小串数字进行排序的一种简单而有效的方法。
还有什么比排序一个大序列更容易的呢?创建一个排序序列从两个较小的排序序列!
与归并排序一样,快速排序使用分治策略来快速排序数组。
数据之间连接的这些有用表示的算法。
图形是在计算机上表示周围世界的基本工具。
树是没有循环的图形,使它们更容易导航。
宽度优先搜索是一种寻找图中最短连接的方法。
最小生成树可以帮助你在复杂的图中找到最有帮助的树。
字符串是简单的,但分析它们的算法却不是!
字符串是字符序列。
在另一个字符串中找到一个字符串比它第一次出现时更棘手!
有限自动机是编写字符串算法的一个重要工具。
这是搜索子字符串的最好方法。
记住你已经知道的可以更快地解决问题。
一点点的记忆对快速解决问题大有帮助。
不同的瓷砖装饰地板有多少种方法?用动态规划找出答案。
二叉树问题的动态规划解决方案。
用这个包络拟合难题把动态规划引入到第二个维度。
如何让电脑优雅高效地做你想做的事。