作者D-ScratchNinja


这是一个有趣的放松观看项目,展示了数据排序的过程。如果你想详细了解数据排序,我还制作了一些解释性项目。

观看九种不同的排序算法对一列整数进行排序,这些整数显示在条形图上,按从最小到最大的顺序排列!你还可以听到读取和写入的声音!

你甚至可以控制播放速度。只需移动鼠标或点击屏幕以显示控件,然后使用按钮暂停/恢复、调整速度、切换到列表中的下一个或上一个算法,或返回菜单。另外,按空格键可以暂停/恢复,按左右箭头键可以跳过。

请注意,如果在启动屏幕上什么也不做达15秒,此项目将自动播放,所以你可以坐下来放松享受表演。

以下算法被可视化:

  • 冒泡排序
  • 插入排序
  • 选择排序
  • 快速排序
  • 归并排序
  • 基数排序(从最低有效位开始,基数4)
  • 摇摆排序
  • 双向选择排序
  • 堆排序

另外,如果你想添加更多算法,只需进入“排序器”精灵并编写另一个算法!使用自定义块来反映操作在可视化中的表现。别忘了将其添加到上述列表和“算法”菜单中,并增加“播放列表”精灵中的算法数量,以确保播放不会在排序完成前停止。

你也可以尝试其他方面,比如数据集!“条形图”精灵中有一个自定义块,随意生成一个新的随机数据集来排序。在这个块中,有一个参数可以设置要排序的项目数。点击一次,它就会自动工作。你可以设置很高(或很低)的值!不过,设置得太高可能会导致一些视觉/音频…事情发生。

这里呈现的一些算法可能与通常实现的方式略有不同,因为Scratch不支持嵌套数组、自定义块作用域变量或返回语句,手动实现这些功能需要一些工作量,而且我还需要动画化整个过程。值得注意的是,所有这些算法实现都是“原地”的,意味着它们不会将任何值复制到临时列表中。

自从我第一次了解排序算法以来,我就喜欢观看和学习数据排序器。事实上,这是我在Scratch上第三次尝试创建可视化排序程序!希望它也能让你着迷!

另外,你能找到秘密排序算法吗???提示:有一个秘密代码!

预览

版权说明:资源均源于互联网收集整理,不保证资源的可用及完整性,仅供个人学习研究,请勿商用。喜欢记得支持正版,若侵犯第三方权益,请及时联系站长删除!