精通matlab,需要學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)嗎?
網(wǎng)友解答: 謝邀,精通MATLAB與算法和數(shù)據(jù)結(jié)構(gòu),是兩個(gè)維度的話題。MATLAB是一個(gè)數(shù)學(xué)軟件,主要用于數(shù)值分析計(jì)算,數(shù)據(jù)可視化展示,數(shù)據(jù)建模等場(chǎng)景。而算法與數(shù)據(jù)結(jié)構(gòu)是指解決問(wèn)題的方法
謝邀,精通MATLAB與算法和數(shù)據(jù)結(jié)構(gòu),是兩個(gè)維度的話題。
MATLAB是一個(gè)數(shù)學(xué)軟件,主要用于數(shù)值分析計(jì)算,數(shù)據(jù)可視化展示,數(shù)據(jù)建模等場(chǎng)景。
而算法與數(shù)據(jù)結(jié)構(gòu)是指解決問(wèn)題的方法與思維。
怎么理解呢,數(shù)據(jù)結(jié)構(gòu)是用于存儲(chǔ)數(shù)據(jù)的單元,在面對(duì)問(wèn)題時(shí),它提供的是解題方案的載體。算法是解析思路,即通過(guò)運(yùn)用不同的載體,來(lái)高效的實(shí)現(xiàn)目的。
舉個(gè)例子來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)是食材,算法就是烹飪方法,而編程語(yǔ)言呢,就是燒火的木材。
只要食材,烹飪方法正確,不管是桃木還是蘋果木,都能做出一桌好菜是吧。
那么我們說(shuō)回來(lái)精通MATLAB。
什么算精通MATLAB呢,我認(rèn)為有兩種解讀。
精通MATLAB編程善于使用MATLAB的矩陣等特點(diǎn),能夠快速將其他編程語(yǔ)言的邏輯移植到MATLAB語(yǔ)言上。這里確實(shí)涉及到數(shù)據(jù)結(jié)構(gòu),因?yàn)橐恍㎎ava自帶的數(shù)據(jù)結(jié)構(gòu),MATLAB并不支持,比如Stack,List等等,MATLAB支持的是矩陣數(shù)組,因此在這個(gè)場(chǎng)景,確實(shí)需要用戶了解不同數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),才能很好的完成遷移。
精通MATLAB強(qiáng)大的畫(huà)圖與仿真功能MATLAB最為人津津樂(lè)道的長(zhǎng)處是它能夠產(chǎn)出各種高大上的數(shù)據(jù)視圖,我們上研究生時(shí)候,要給IEEE會(huì)議論文投稿,稿子里對(duì)我們的算法性能對(duì)比,就是用的MATLAB的這個(gè)功能來(lái)實(shí)現(xiàn)的,這與編程能力的關(guān)系就沒(méi)有那么緊密了,更多的更像精通PS,精通AE這種描述。
綜上,如果是精通MATLAB的畫(huà)圖與仿真功能,不需要花太多功夫?qū)W習(xí)數(shù)據(jù)結(jié)構(gòu)與算法;如果是把MATLAB當(dāng)做一個(gè)編程語(yǔ)言,那么還是需要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,這兩項(xiàng)通用的編程知識(shí)的。
以上是我的淺見(jiàn),歡迎大家在評(píng)論區(qū)與我溝通交流。
我是蘇蘇思量,來(lái)自bat的java開(kāi)發(fā)工程師,每天分享科技類見(jiàn)聞,歡迎關(guān)注我,與我共同進(jìn)步。
網(wǎng)友解答:matlab, 用于算法開(kāi)發(fā)、數(shù)據(jù)分析等,學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)更有利于學(xué)習(xí)