數學 只是 工具, 不是 科學 的 本體 。程序員
現代科學 以 數學 做爲 科學的本體, 從 數學 出發 來 認識科學 、 研究科學, 已經走入了 死衚衕 , 基本上 淪爲 文字遊戲 和 數字遊戲 。算法
科學 的 本體 是 直觀 和 邏輯 。數據結構
人們 一般 認爲 數學 是 邏輯 的 表明, 「若是 數學 不邏輯, 誰(哪一個學科)敢說邏輯 ?」 ,工具
事實上, 數學 = 邏輯 + 數字遊戲 ,加密
數學中, 邏輯 只佔 30% , 數字遊戲 佔 70% 。spa
邏輯 思惟好的人, 數學 不必定好 。設計
程序 也是 邏輯 的 表明, 但 好的 程序員 不必定 會 解方程 。遊戲
程序 側重於 「直觀邏輯」, 數學 側重於 「數字直觀」 。數學
啥? 數學 側重於 直觀? 是否是 說 反 了 ?it
沒錯, 數學 更注重 對 數學符號 的 敏感, 好比 對 數字 、 算式 、 幾何圖形 的 敏感 。
因此, 把 程序員 的 招聘要求 和 數學 硬 掛上鉤 是 不合理 的 。
《數據結構》 裏 只須要 初等數學 的 知識 。
《數據結構》 就是 一些 節點 串來串去, 只有計算 時間複雜度 和 空間複雜度 才須要 數學, 但 也 只要 初等數學, 最高深 也 就是到 對數 爲止 。
對於 程序設計, 或者 軟件科學, 一說到 宗師級 的 境界, 必然 首先 提到 算法(Algorithm),
但 算法 能夠 分爲 2 部分, 一部分 是 數學, 一部分 是 直觀 和 邏輯 。
《數據結構》 課程 裏 基本 都是 直觀 和 邏輯, 不須要 高深 和 專業 的 數學演算 。
而 算法 裏的 數學 部分 是 好比 加密算法 DES 、RSA, Hash 算法 等 。
因此, 算法 裏的 直觀邏輯 部分 和 數學 部分 是 不等同 的, 不可 混爲一談, 要將 二者 分清, 才能更好的 認識 算法 和 軟件科學 。
微積分 的 概念 很好理解 。 若是 僅僅 從 直觀 和 邏輯 上 來 理解的話, 很好理解, 3 歲 以上 的 兒童 就能夠理解 。
讓人以爲 專業 的是 那些 數學公式 和 推導計算 。
但 這些 數學公式 和 推導計算 是 重要的, 它們是 重要的 工具 。
其實 咱們 徹底 能夠用 演繹法 來計算 微分 和 積分, 就是比較 耗費工做量,
更重要的是 手工演繹法 獲得的 不是 準確的 「理論值」, 這和 數學方法 仍是有 質 的 差異 的 。
所謂的 手工演繹, 不是隻能由人來 操做, 也能夠是 計算機 來操做 。
演繹法 就是 根據 微積分 的 直觀 和 邏輯 模型, 把 一個 圓 切分 爲 不少很短 的 邊 組成的 多邊形, 來求 圓周率 。
又或者 把 座標系 裏的 曲線圖形 分割爲 不少很窄 的 矩形, 來求 曲線圖形 的 面積, 這好比在 物理學 裏 求 變加速 運動 的 路程 。
可是 演繹法 獲得的 不是 準確的 「理論值」, 因此 數學工具 仍是 須要 的。