你「聽」過這些經典排序算法嗎?

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

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

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

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

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

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

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

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

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


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

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


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

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

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

相關文章
相關標籤/搜索