回覆列表
-
1 # DblHpp
-
2 # 孤雁
這個問題有點粗,估計題主是想知道人工智慧或是大資料分析之類的演算法是否難。我這裡簡單分析一下。
一、首先,程式設計,準確地說是程式裡的演算法無處不在,可以說,演算法就是程式的核心和靈魂,幾乎任何一段程式都可能包含一個或幾個演算法,比如說,簡單的列印“Hello, World!”,這麼簡單的一句程式,後面都是一大堆複雜的計算。只不過這些計算程式都被程式設計師們封裝起來了,有人問什麼是封裝?就是打包了,比如,春節過完了,又要北上南下打工了,父母準備了好多吃穿用的東西,為了方便攜帶,就將這些東西分類打包了,最後還放到一個大箱子裡。這樣,別人就看不到裡面的東西,既方便攜帶,也很整齊。程式設計師們為了方便別人呼叫自己的演算法,就將這些成千上萬行演算法程式碼也打包成函式庫了,所以我們只需要簡單呼叫就可以了。
二、其次,任何一個複雜演算法都可以分解成簡單的演算法,或者說複雜演算法都是由簡單演算法構成的。這和高等數學中複雜的數學公式也是由初等數學中的公式組合和推匯出來的道理一樣。所以,說演算法難或是複雜,是因為我們只是霧裡看花,真正去接觸了,會發現並非那麼難。
三、在程式設計過程中,一般會涉及到兩類演算法,一類是基礎演算法,一般在程式語言中都提供了,一類是業務演算法,或者說是應用演算法,就是我們要針對具體的應用去編寫一個演算法,比如說,分析一下每個月的銷售規律。顯然,應用演算法離不開基礎演算法,很多學生雖然學了不少基礎演算法,但在真正的應用程式設計時,仍然有一點手足無措,原因就是應用演算法更復雜,需要你先有一個抽象邏輯,有人不太喜歡去分析業務,直接下手去寫程式碼,最後會很被動。
總的來說,演算法是非常嚴謹的,和數學公式一樣,如果初等數學沒學好,想熟練使用微積分公式,肯定是不太現實的。
一般的演算法很容易理解,而那些很難的演算法你會做習題,或者會抄習題答案就可以了,實際工作中的程式設計很少用得到。真的遇到了,也不會是你一個人能解決的,要整個團隊像醫院的專家會診那樣去解決。