算法(Algorithm)在百度百科里是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制 。算法對于每個程序員來說,都是非常重要的 。大廠面試,也是100%會問到算法面試題。 之前公眾號也推薦過一些算法相關(guān)的文章,這里在羅列給大家復習下。 入門篇|學渣是如何自學數(shù)據(jù)結(jié)構(gòu)的? HashMap底層的數(shù)據(jù)結(jié)構(gòu)和算法 數(shù)據(jù)結(jié)構(gòu)與算法之遞歸,這篇夠詳細的! 好了,算法是很重要的,大家也都知道,問題是如何更好的學習好算法才是關(guān)鍵 。一提到算法,我相信很多人都會立馬想到去Leetcode網(wǎng)站上刷題, LeetCode收錄了許多互聯(lián)網(wǎng)公司的算法題目,被稱為刷題神器 。 https:/// 不過今天,是打算跟大家重新介紹一個GitHub上的開源項目:algorithm-visualizer 。該項目已經(jīng)有超過2萬的Star,而且有3100+的Fork,說明項目挺受歡迎的 。 開源鏈接: https://github.com/algorithm-visualizer/algorithm-visualizer 這開源項目,最厲害的地方,是還有個在線動態(tài)演示算法的網(wǎng)站,可以很清楚的看到算法運行的整個過程,很直觀,便于大家學習。 https:/// 如下圖所示: 簡單介紹一下這個在線網(wǎng)站的用法,大家可以很清楚的看到,網(wǎng)站分為三部分,最左邊是算法目錄,大家可以選擇自己要的算法,目前已經(jīng)包括了很多算法了,比如二叉樹、圖、排序算法、動態(tài)規(guī)劃等等經(jīng)典算法 。中間區(qū)域分為兩部分,上面是動態(tài)演示的動態(tài)圖,下邊是程序運行輸出的日志。最右邊是程序的代碼和一些播放按鈕 。 附上代碼運行過程圖 |
|