目录
前面几天在一个社区中看见一片关于使用python可视化排序算法的文章,觉得很有趣,这里把它记录下来,分享给大家。
可视化实现
对于每一个程序员来说,排序算法都是应该掌握的基本技能,但是之前在用C++编写程序的时候总会觉得这个过程太枯燥,而且并不直观,一个偶然的机会在一个社区:python中文社区。看见了关于排序算法的实现。
这里介绍了12中算法,基本上囊括了现在比较流行的排序算法。其中每个算法这里就不介绍了,此篇文章的重点在于怎样实现可视化。
详细代码可以参考:https://github.com/taotaoyayun/Sorting_Visualization
在python用于可视化的模块一般是matplotlib,但是我们这里不用这个模块二使用numpy+opencv。原因在于在排序的过程中,每次修改数组都希望能够实施修改图片并输出,matplotlib的效率并不高,而且每次修改数组前后的两幅图片其实效果差不多。如果使用matplotlib每次都是重新绘制图片,非常耗时。
这是是直接使用numpy得到一个三维的图片数组,然后在这个图片中实现可视化。
效果图如下: