数学 只是 工具, 不是 科学 的 本体 。程序员
现代科学 以 数学 做为 科学的本体, 从 数学 出发 来 认识科学 、 研究科学, 已经走入了 死胡同 , 基本上 沦为 文字游戏 和 数字游戏 。算法
科学 的 本体 是 直观 和 逻辑 。数据结构
人们 一般 认为 数学 是 逻辑 的 表明, “若是 数学 不逻辑, 谁(哪一个学科)敢说逻辑 ?” ,工具
事实上, 数学 = 逻辑 + 数字游戏 ,加密
数学中, 逻辑 只占 30% , 数字游戏 占 70% 。spa
逻辑 思惟好的人, 数学 不必定好 。设计
程序 也是 逻辑 的 表明, 但 好的 程序员 不必定 会 解方程 。游戏
程序 侧重于 “直观逻辑”, 数学 侧重于 “数字直观” 。数学
啥? 数学 侧重于 直观? 是否是 说 反 了 ?it
没错, 数学 更注重 对 数学符号 的 敏感, 好比 对 数字 、 算式 、 几何图形 的 敏感 。
因此, 把 程序员 的 招聘要求 和 数学 硬 挂上钩 是 不合理 的 。
《数据结构》 里 只须要 初等数学 的 知识 。
《数据结构》 就是 一些 节点 串来串去, 只有计算 时间复杂度 和 空间复杂度 才须要 数学, 但 也 只要 初等数学, 最高深 也 就是到 对数 为止 。
对于 程序设计, 或者 软件科学, 一说到 宗师级 的 境界, 必然 首先 提到 算法(Algorithm),
但 算法 能够 分为 2 部分, 一部分 是 数学, 一部分 是 直观 和 逻辑 。
《数据结构》 课程 里 基本 都是 直观 和 逻辑, 不须要 高深 和 专业 的 数学演算 。
而 算法 里的 数学 部分 是 好比 加密算法 DES 、RSA, Hash 算法 等 。
因此, 算法 里的 直观逻辑 部分 和 数学 部分 是 不等同 的, 不可 混为一谈, 要将 二者 分清, 才能更好的 认识 算法 和 软件科学 。
微积分 的 概念 很好理解 。 若是 仅仅 从 直观 和 逻辑 上 来 理解的话, 很好理解, 3 岁 以上 的 儿童 就能够理解 。
让人以为 专业 的是 那些 数学公式 和 推导计算 。
但 这些 数学公式 和 推导计算 是 重要的, 它们是 重要的 工具 。
其实 咱们 彻底 能够用 演绎法 来计算 微分 和 积分, 就是比较 耗费工做量,
更重要的是 手工演绎法 获得的 不是 准确的 “理论值”, 这和 数学方法 仍是有 质 的 差异 的 。
所谓的 手工演绎, 不是只能由人来 操做, 也能够是 计算机 来操做 。
演绎法 就是 根据 微积分 的 直观 和 逻辑 模型, 把 一个 圆 切分 为 不少很短 的 边 组成的 多边形, 来求 圆周率 。
又或者 把 坐标系 里的 曲线图形 分割为 不少很窄 的 矩形, 来求 曲线图形 的 面积, 这好比在 物理学 里 求 变加速 运动 的 路程 。
可是 演绎法 获得的 不是 准确的 “理论值”, 因此 数学工具 仍是 须要 的。