算法是程序的靈魂,為什么有些程序可以在海量數據計算時,依然保持高速計算,大家可能會說: 程序使用了內存計算框架(比如Spark)和緩存技術(比如Redis等),那再深入的思考一下,這些計算框架和緩存技術又是怎樣被技術高手設計出來的呢? 拿實際工作經歷來說, 在Unix下開發服務器程序,功能是要支持上千萬人同時在線, 在上線前,做內測,一切OK,可上線后,服務器就支撐不住了, 公司的CTO對代碼進行優化,再次上線,堅如磐石。那一瞬間,你就能感受到程序是有靈魂的,就是算法。如果你不想永遠都是代碼工人,那就花時間來研究下數據結構和算法吧.
本課程是使用Scala語言來講解數據結構和算法,內容包括: 稀疏數組、單向隊列、環形隊列、單向鏈表、雙向鏈表、環形鏈表、約瑟夫問題、棧、表達式的轉換與求值、遞歸與回溯、迷宮問題、冒泡排序、選擇排序、插入排序、快速排序、歸并排序、排序速度分析、二分查找、散列、哈希表、二叉樹、二叉樹與數組轉換、二叉排序樹(BST)、其它二叉樹介紹(AVL 線索二叉樹 赫夫曼樹)。通過學習,學員能掌握主流數據結構的實現機制,開闊編程思路,提高優化程序的能力。