主要内容
单元:算法
什么是算法,为什么应该关注算法?我们将从算法的概述开始,然后讨论两个游戏——猜数字游戏和一个寻路游戏,你可以使用算法来更有效地解谜。
学习二分搜索,这是一种每次将搜索空间一分为二来高效率查找数组的搜索方法。
学习如何使用渐近分析来描述算法的效率,以及如何使用渐近符号 (大 Ο、大 θ、大 Ω) 来更精确地描述效率。
学习选择排序,这是一种对数值数组进行排序的简单算法,并了解为什么它不是最高效的算法。
学习插入排,另一种简单但不是特别高效的排序数组的方法。
使用递归技术来解决汉诺塔问题,据说这是某个寺庙中的僧侣所面临的经典数学难题。
学习归并排序, 这是一种更有效的排序算法, 在很大程度上依赖于递归的强大功能来重复排序、合并子数组这一步骤。
学习快速排序,这是另一种高效的排序算法,它使用递归更快速地对一组数值进行排序。
了解如何通过边、顶点和权重描述图,并学习利用边列表、邻接矩阵和邻接表存储图数据的不同方法。
学习如何使用广度优先搜索遍历图,依次遍历每一层来查找特定节点,并确保不会漏掉节点。