如果你是一名编程老师,你必须选择一种排序算法来教你的学生哪一种?我只要求一个,因为我只想介绍排序的概念。它应该是冒泡排序还是选择排序?我注意到这两个人最常被教授。是否有其他类型的排序将以更容易理解的方式解释排序?
发布于 2019-05-10 08:13:11
让你的学生决定。
在介绍任何排序算法之前,给每个学生一些扑克牌,大约10个左右。然后让他们对卡片进行分类。让他们写下他们采取的步骤,这基本上是他们的算法。可能他们会发现插入或选择排序。您还可以要求他们估计,如果他们拥有100张或1000张牌,他们的排序会采取多少步骤,这是一个很好的导致大O符号。
PS - 有没有人认为他们会发现泡泡排序?
发布于 2019-05-10 08:48:32
如果你想教授排序,那么冒泡排序可能是最容易理解的。如果你想教授排序算法,那么你应该真正教授quicksort,mergesort,insertsort甚至是heapsort,以便学生能够感受到各种排序方法之间的权衡。
https://stackoverflow.com/questions/-100001140
复制相似问题