數學不好,能學好演算法嗎

時間 2021-05-11 21:31:19

1樓:

我的觀點是,不能。學演算法數學一定要好,否則大部分演算法無法深刻理解,題目就算寫出來了,下次也很容易犯錯。此外,尤其像貪心,動態規劃,數學不好的話這兩類題非常容易懵。

2樓:圖靈教育

也許你忘記了,也許很多人都忘記了,演算法,本來就有接近遊戲的一面

演算法是計算或解決問題的步驟,也是達成特定目標的步驟。而遊戲的過程也是按規則完成任務,達成目標的過程。

舉個例子,遊戲室裡總能見到的漢諾塔,你小時候玩到了第幾環?每次只能移動乙個圓盤,小圓盤一定要在大圓盤的上面。把所有圓盤從最左邊移動到最右邊,你就贏了。

其實無論有多少環,你都可以贏得這個遊戲,秘訣就是遞迴演算法

再舉個例子,你有沒有和小夥伴在紙上比賽過走迷宮?誰先走通誰就贏了。這正是演算法裡十分常見的路徑查詢問題。

如果現在重走迷宮,你會用哪種方法呢?

是廣度優先搜尋、深度優先搜尋?也許你會覺得這些都太簡單了,你已經掌握了狄克斯特拉演算法。那麼A*演算法呢?你會不會?

還有,為了不讓老師和家長發現你們要搗蛋,你有沒有試過和鄰居家那小子打暗號?你們的暗號是怎麼約定的?怎麼防止大人發現解開暗號的辦法呢?

從演算法的角度看,這就是最典(jian)型(lou)的安全和加密問題。

演算法,本來就是充滿童真的,是妙趣橫生的。它是程式的骨骼,也是好奇心的彩蛋。學透乙個演算法就該像玩遊戲玩到通關一樣,是乙個單純而快樂的過程。

如果你擔心自己數學不好理解不了演算法,如果你想從遊戲開始學習演算法。那麼你一定不能錯過《我的第一本演算法書》。

3樓:Thinkgamer

題主描述的演算法應該是資料結構相關的演算法,典型的leetcode場景。如果僅限於這個場景下的話,數學不一定要學好,一些常見的知識點知道就行了。

但我們通常意義上講的演算法則是AI背景下的演算法,比如:決策樹中的熵,梯度提公升決策樹中的梯度和求導,神經網路中的反向傳播等。這種演算法則對數學要求較高,至少比題主描述的演算法要高很多。

演算法與數學

最後說乙個真實的例子:北京有乙個70歲+的老奶奶,依舊每天堅持學數學,原因是為了保持和提公升自己理智、清醒!

4樓:孫悅禮

如果把程式設計只是當做乙個程式化自動化的機械人,來幫人完成某個任務,那可能只是初級的軟體水平。

市面上自動化的軟體硬體非常多,舉一些機械人的實物來做例子吧。市面上各種自動料理機、自動洗澡機、掃地機械人都屬於自動化的智慧型裝置。如果只是通過演算法實現來完成任務,那這些產品可能差了些競爭力,多的是Geek感,少了架構思想,就是如何讓它不僅給使用者帶去極佳的體驗,也要能在技術層面方便的進行後期維護。

說實話,做好這個工作,你就需要學習非常多的知識,社會學、經濟學、心理學都可以給你帶來不一樣的驚喜。

具體提到演算法,其實可以分三個層次——

第一層類似數學演算法,它是用來解決問題的方式,比如路由演算法、排序演算法。

第二個層是快速演算法,也就是需要根據計算機硬體的特性,對第一層演算法進行優化,使得一些原本無法進行計算的演算法可計算,其實計算機計算sin,cos都是使用泰勒級數展開的,所以泰勒級數是很典型的第二層演算法。

第三層則是根據具體的硬體架構進行優化,比如某款產品使用的晶元特性,對它的效能進行再次挖掘。

問題問的是,數學學不好可以寫演算法嗎?只談第一層演算法當然也沒錯,但是其實忽略了後兩層更關鍵的東西,實際上沒有其他兩層,很多一層演算法沒法實現,也無法思考到足夠深層的機制。

對於我的研究工作而言,演算法主要體現在工程和統計。通過有限元演算法,獲得不同結構在不同環境下的受力分布,這其中少不了矩陣、立體幾何、向量運算等基礎知識。使用python或者R也都只是語言,核心的還是統計的原理和函式用法,為的是完成基本的資料分析和資料視覺化。

所以對我來說,目的比工具更重要,演算法可以替代,數學、物理等基礎知識,無法替代。

5樓:某個某人

我覺得吧,單純說「數學不好」很難掂量。

如果你是「數學知識差」但「數學能力強」,學這個完全沒有問題;

但如果你是「數學能力差」但「數學知識強」,就真的很費勁了。

比如說有一位數學天才,並且在上初中。由於他是天才,所以「數學能力」強,但又由於他在上初中,「數學知識」弱。跟他講微積分什麼的他不會懂,但內在實力吊打一般學過微積分的大學生。

6樓:一尾沉舟

我吧,數學成績從來沒有及格過,150分的卷子能考個位數,看到數字就頭疼的那種。

現在為了餬口,能從早到晚對著幾百頁的資料面無表情地頭疼。

你只是還沒被生活壓迫過。

7樓:AndreaBocelli

那得看你的決心了。

這個作者的數學簡直就是渣了,可是為了實現專案的效能規格,重寫了python提供的向量取樣函式。

AndreaBocelli:高效能組合數向量取樣方法

8樓:一坨大黃醬

個人覺得要看方向。

比如要做dsp或影象視覺處理等需要大量訊號和資料交換的程式,需要數學非常好。

但如果只是在應用層,網際網路或應用程式開發等等,應該不太需要數學。

9樓:哞哞叫的龍

一般數學不好只有兩種可能,一是和數學相關的教育不足,第二種是邏輯思維比較弱。

如果是第一種,恭喜你,你學演算法沒問題。如果是第二種,建議還是別折騰了。

這兩種我都見過很多,第一種的學歷可能不高,但一點就透。

第二種真的沒辦法,確實是怎麼帶都帶不出來。

10樓:小陳斌

演算法有很多,如果是在我做的導航演算法領域,數學是非常關鍵的。概率論,估計論,統計學,矩陣論這四門課是基本知識,當然了微積分我是預設你會的,畢竟本科基本都要上這門課吧。我還看見有用凸優化的,我也有學空間向量最優化。

不過這個好怎麼定義我就不清楚了,我覺得能看得懂書,理解得了書的意思,關鍵的公式自己能推導出來就OK了吧,畢竟深入研究數學不是我們的目的,那樣的工作留給數學系的人做就好。

11樓:郭氏

個人見解,數學,屬於演算法中,在單純的數字運算中,利用演算法和加法,可以做出其他的運算子,加減乘除,次方對數,都可以用加法做出來

12樓:劉暢

我很奇怪,是什麼給了有些答主管高數概率論什麼的就叫」「數學」的勇氣。。高數是所有理工科的基礎課,難不難你心裡沒點數嗎

你們那種所謂的數學不好就能學好的演算法,和大牛們說的需要高階數學知識的演算法,那是一回事麼。。

13樓:

我是學數學的,搞優化演算法的,純理論研究。今年找工作發現,圖樣,人家要求的是實現,不是你基礎好不好,所以,沒有人要我。現在在惡補統計跟py,希望真的如大家所擔憂的一樣,數學不好做不了演算法,這樣我還有點機會找個演算法的工作

14樓:JennyVenus

要看什麼演算法,排序?查詢?這些努力就能掌握大部分知識點

如果更複雜的,資料處理呢?安全演算法呢?就必須有數學基礎以及專業知識

15樓:宇佐見蓮子

1. 實際作用

所謂演算法就是解決問題的方法,資料結構就是儲存一種資料的方法。目前已有的演算法和資料結構,都是為了想要計算實際生活中的一類問題這一需求,被人們發明和總結出來的。學好演算法和資料結構,至少能讓你面對乙個你想解決的問題時知道該如何計算,或者分析它能不能計算。

重要性不言而喻。

2. 面試

實際工程問題也是問題,由於有了1,所以對你設計解決問題方法的能力很看重。站在巨人的肩膀上,就算你很聰明,那也要去了解已經有的對一些問題的方法,問題是有模式的,從已有模式去開發新的模式。

3. 和數學

一定要補。

首先,演算法與離散數學是分不開的,以至於邏輯演算和抽象代數。一味的背會幾個演算法是無法建立思維的,要把它們其中代表的抽象本質提取出來。比如最簡單的排序問題,它就是將乙個輸入的狀態轉化為目標狀態的過程,可以把它看作乙個狀態空間。

再比如和演算法和矩陣,影象處理中的有些演算法涉及到求解矩陣穩態,這就牽扯到例如perron定理等一大票矩陣分析內容。

再比如說演算法與微積分,最簡單的例子就是bp神經網路,大量用到偏導數進行引數修正。

還有傅利葉變換與訊號處理,小波變換神經網路等等等等...

4. 數學忘了

電腦科學某種意義上講就是數學。除了上面提到的,數學中的圖論,概率論,拓撲學,都可以應用到某一方面問題的計算中。這些東西不一定都精通,但是至少基礎要紮實,數論不過關的話乙個分塊矩陣乘法的下標條件都得折騰半天。

遇到自己想要解決的問題時,先把它抽象化,然後去找數學幫幫忙。這樣的做法又快又好。

16樓:

如果想參加競賽的話必須學會遞推式和遞迴數列,還有aabb,點到直線距離公式和求線段區間,還有行列式牛頓迭代法,二次方程必須會解!!

17樓:材又傅

數學不好分兩類:沒學好(有能力沒努力)和學不好。

學好演算法和學演算法也有程度之分。

產生乙個兩兩組合:

沒學好數學可以學會一些演算法,

沒學好數學,若把數學補上,可以學好演算法,

學不好數學只能學會一些演算法,

學不好數學不能學好演算法。

切記:數學是演算法的靈魂。解決數值問題(如機器學習等)的演算法,要用到微積分,線代,概率論,復變等。解決非數值問題(如地圖尋路等),要用到線代,離散等。

18樓:

學演算法首先邏輯思維要強, 邏輯思維從哪來? 數學基礎啊. 數學基礎從哪來? 首先你自己得沉下心學習乙個才能知道自己能到達什麼程度.

對大多數人來說 ,學習的熱情 + 耐心是最重要的. 後期靠天賦 .

但是看樓主提的問題, 我怕是沒有這個熱情和耐心.

19樓:巨貓的鏟屎官

高中後到工作第四年就再沒學數學,到第十年莫名其妙成為半百演算法團隊領導。個人觀點數學是演算法工程師入門條件,尤其是今天優秀畢業生那麼多的情況下,但要能獨當一面更多考察的是如何理解資料本身、業務,並建立之間的聯絡以及如何有效的進行溝通。

ps:考慮到我部基礎學科的學霸們已經太多,多希望再來十幾個工程能力爆表的演算法工程師啊....產品我也要....

20樓:郭子安

你說的是資料結構方面吧,是一些後端基礎,這些是計算機系學生都要學習的東西,跟真數學關聯不大(起碼我高數掛了,但計算機用的數學是沒有任何問題的)作為乙個學渣,看個夾逼定理都看得頭暈,但什麼篩選,排序是沒有任何問題的。數學這東西在初級可能沒什麼卵用,但想上級數可能需要吧。這個其實我也不是很清楚。

我只是個初級渣渣前端。

只能說,計算機這樣的東西,學了總沒錯。只要一日在工作,總有一天可能用得上。

至於為了應試,這些東西你去刷刷題,差不多的了。

數學不好 能學會計嗎?

風雲過 只要有初中數學的基礎就沒問題,初級中級最多用到平方,開根號,插值法,解方程。太深奧的數學知識可以戰略性放棄,基本不考,所以沒問題。 皓月涼涼 我就是數學不好,我的專業不是會計,是在工作當中自學的。只是做一名記帳會計的話與數學好不好沒有多大的關係的。但如果要做到總監之類的很高職位,甚至想在會計...

為什麼很多女生能學好數學,但學不好物理?

slunker 因為數學,尤其是高階一些的數學,舉例來說就是脫離了日常需要的數學,根本和現實無關,完全是自稱體系的理論,通俗來講是乙個完整的框架,這個框架不需要你引入你的生活中的檢驗,你也不會將它們帶入你的生活,所以相比而言,在一定的程度上,在數論這種難度下,數學算是乙個比較好學的學科。但是物理不一...

數學好英語不好怎麼辦,數學130 150,英語90 110英語怎麼提高,我感覺英語聽力,完形無從下手?

碧咩 前幾天我讓我兒子做了一套高考二模,基本上有一百十幾分。他9周歲。新概念1234,除了4最後十幾課,其他都背完了。不知道你現在是幾年級,如果臨近高考了,那就死命刷題吧。聽力肯定是可以短時期提分的。完形更多時候靠語感了。多去聽一些網盤課。總結經驗,提分應該還是很快的。加油。 我和春風在等你 聽力不...