算法 - 数据结构训练营

算法是一组完成任务的指令。 算法与数据结构相辅相成。任何给定的任务都可以以无数种方式实现。因此,对于常见的任务,人们通常会提出许多不同的算法。 例如,对一组无序数进行排序的算法有很多: 插入排序、选择排序、归并排序、冒泡排序、堆排序、快速排序、Shell 排序、Tim 排序、桶排序、基数排序…… 它们有的执行效率高。有的占用内存少。有的实现容易。有的是专门针对特定数据集。 每种排序都有其特点。因此,需要根据需求做出选择,为此,需要一种比较它们的方法,一种衡量它们不同场景下优劣的方法。 当我们比较算法的性能时,我们使用大 O 复杂度表示法粗略地测量它们的平均和最坏情况的性能。
使用正确的数据结构可以大大简化原本复杂的逻辑。如果很注重性能或想节约内存,那么就需要选择正确的数据结构。来和我一起用 JavaScript 语言来实现一些常用数据结构吧。


运行