【嵌入式·单片机】老生常谈:学习单片机和嵌入式是否需要学习算法?
文章目錄
- 前言
- 什么是算法
- 嵌入式是否需要算法
- 如何學習算法
- 參考資料
前言
剛學習單片機或嵌入式的同學可能會聽說過「算法」這個詞,部分電子信息類專業的同學也會在自己的培養計劃上看到《數據結構與算法》這門課程,這個時候我們可能會感到疑惑,什么是算法呢?如果我們想學習單片機或嵌入式,需不需要學習它呢?
其實,我們常說的算法指的就是《數據結構與算法》,它是計算機科學研究的內容,同時也是計算機科學和軟件工程專業的必修課,那如果我們只學習單片機及嵌入式,是否一定要學習它?別著急,讓我們從頭談起。
什么是算法
算法通常指《數據結構和算法》,它由數據結構和算法兩部分組成。
- 數據結構指計算機中存儲、組織數據的方式,即按照一定的結構,把數據組織起來,并存儲到計算機的存儲器里
- 算法是一種使用計算機來解決問題的方法,它需要建立在數據結構的基礎上,算法研究的目的是為了更有效的處理數據,提高數據運算效率
嵌入式是否需要算法
首先我們知道,在做產品時,公司往往會出于成本考慮,而要求我們的嵌入式程序跑在性能較差、存儲資源較少的單片機或嵌入式 SOC 上(例如 51 單片機的頻率僅有 12MHZ,RAM 僅有 128 字節),這時候就需要我們對程序做出一些優化,否則你的程序可能根本跑不起來,甚至根本無法存儲到單片機的 Flash!這個時候就需要用到「算法」了,因為算法研究的就是不斷優化程序,最終達到在有限的空間和時間內更高效的處理數據的目的。
所以,如果你想精通嵌入式、進入嵌入式行業,是一定離不開算法的;但是如果你只是想入門單片機和嵌入式,是不需要學習算法的, 因為我們在入門學習時程序比較簡單,不會占用過多資源,并且往往會采用那些資源比較充足的單片機或嵌入式開發板(例如 STM32、樹莓派4B),從而不會遇到性能問題。
如何學習算法
算法和其他課程一樣,需要理論和實踐同時進行。對于理論,我們可以跟著一些系統性的課程進行學習(如教材),而對于實踐,一是要多寫程序,二是要多刷算法題。
在這里給大家推薦一個算法學習平臺 - 牛課網(傳送門:牛客網 - 算法學習專區),牛客網是一個集 課程+刷題+面經+求職+討論區分享 的一站式求職學習網站,最最最重要的里面的資源全部免費 ,我們不僅可以在里面系統的學習算法類課程,也可以去找各種算法題進行練習和鞏固。(傳送門:牛客網 - 算法學習專區)
而且,對于不想或不需要學習算法的同學,牛客網還為我們準備了嵌入式學習專區,不僅有系統的嵌入式入門教程,還有 Verilog 進階教程和嵌入式面試題庫,有需要的同學不要錯過呀。
- 傳送門:牛客網 - 嵌入式專項題庫
- 傳送門:牛客網 - 嵌入式學習專區
參考資料
- 數據結構與算法是什么? - 知乎
總結
以上是生活随笔為你收集整理的【嵌入式·单片机】老生常谈:学习单片机和嵌入式是否需要学习算法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SRM系统是什么系统?
- 下一篇: 浅析ER模型与关系模型