算法是程序的靈魂昭雌,語(yǔ)言只是一種工具复唤,數(shù)據(jù)結(jié)構(gòu)是載體,因此算法的重要性就不言而喻了烛卧,如果你的工作不是算法類相關(guān)的話佛纫,那么你直接接觸到底層的算法怕是不多了,一般我們就停留在使用api上面总放,如果你使用的是面向?qū)ο蟮脑挸视睿热缯f(shuō)java語(yǔ)言中,最多知道哪個(gè)類適合使用當(dāng)前的這個(gè)需求局雄,然后調(diào)用已經(jīng)封裝好的api進(jìn)行編碼甥啄,實(shí)現(xiàn)需求,那么到底是不是沒(méi)有這個(gè)必要學(xué)習(xí)算法呢炬搭?我的想法是有必要的蜈漓,如果你想深入你的代碼穆桂,去探究底層代碼的邏輯,想要去優(yōu)化你的代碼的性能融虽,已經(jīng)想要自己封裝一個(gè)適合自己的實(shí)際場(chǎng)景的算法庫(kù)的話享完,有技術(shù)追求的話,那么很高興有额,祝賀你般又,算法在等你一步一步去揭開(kāi)真相,去成為你的編碼的利器巍佑。
正如上面所說(shuō)的茴迁,編碼是要從真實(shí)世界定義抽象出數(shù)據(jù)模型,進(jìn)行相關(guān)的編碼萤衰,那么算法到底是怎么樣定義的呢堕义,用我們自己的話就是,有限腻菇,確定的胳螟,有效的并適合用程序來(lái)解決問(wèn)題的辦法,算法需要合適的組織數(shù)據(jù)筹吐,就是數(shù)據(jù)結(jié)構(gòu)了糖耸,當(dāng)我們選擇我們的算法的時(shí)候,如何評(píng)判算法是否合適丘薛,通過(guò)分析嘉竟,得出性能指標(biāo)。
本系列文章主要是在閱讀Robert Sedgewick的第四版的《算法》的閱讀筆記洋侨,記錄自己的學(xué)習(xí)舍扰,希望自己能堅(jiān)持下起,希望與君共勉希坚,一起努力边苹,加油