排序算法可視化演示

算法 是編程知識體系中的重要部分。當你已經掌握了一些編程基礎之後,必然需要了解算法相關的知識,才能可以寫出效率更高的代碼。而 排序算法 又是算法中非常基礎的內容。

我們用 Python 實現了一個 可視(聽)化的排序算法演示 程序,給你們直觀地展示一下 冒泡排序、選擇排序、插入排序、快速排序、歸併排序 5種經典排序算法的執行過程。

記得打開你的聲音,片尾有小彩蛋😁

https://www.zhihu.com/video/984780622191030272

此程序的想法來源於一個國外視頻:

6分鐘演示15種排序算法_嗶哩嗶哩 (゜-゜)つロ 乾杯~-bilibili

主體代碼和可視化部分由 @Provin.M 實現,我在其基礎上增加了音效。

可視化部分通過著名的 Python 圖表庫 matplotlib 中的 animation 實現。音效則是使用了 pyaudio 庫。

這幾種都是經典的排序算法,關於其實現及算法複雜度的討論在幾乎每一本算法書籍上都有提及,網上直接搜索一下也可以找出無數文章,因此本篇中不再一一贅述。如果大家對算法感興趣,可以在留言區說下,之後也會考慮寫一些算法方面的內容。

代碼已上傳 github。如果你對排序算法還不熟悉,可以嘗試修改下代碼裏的排序數據、執行速度等參數,觀察不同排序算法的過程和效率,以便於對這些排序算法的理解。而如果你已經對算法有一定了解,則可以考慮在此框架上增加更多的算法演示。

獲取代碼,請在公衆號 Crossin的編程教室 裏回覆關鍵字: 排序

════
其他文章及回答:

如何自學Python | 新手引導 | 精選Python問答 | Python單詞表 | 區塊鏈 | 人工智能 | 雙11 | 嘻哈 | 爬蟲

歡迎搜索及關注: Crossin的編程教室

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章