数据结构和算法—数学的应用

发布时间:2026/7/18 16:39:38
数据结构和算法—数学的应用 一、介绍现在的高考也很重视理工了很多网络上惊呼得数学者可上更好的大学。不由得想起上中学时有一句名言“学好数理化走遍天下都不怕”。当时有一份刊物好像叫“中学生数理化”很多学生都非常喜欢。为什么现在重视数学有很多种原因今天咱们就从学好计算机过程中为什么需要扎实的数学基础来尝试着分析一下。二、数学与计算机技术大家其实都清楚电子计算机技术其下称为计算机其实是为解决数学计算产生的。当时是因为计算弹道。也就是说计算机技术从一开始就和数学有着不解之缘。数学是计算机科学的底层基础是驱动计算机发展的一个重要支撑。数学的严谨的逻辑、高度的抽象和优化在计算机科学中都着显示的映射。大家在解数学题时是不是会发现复杂的数学题往往有多种解题思路和方法很多解题的方法尤如天马行空简明、高效。而在计算机中为了提高资源的利用率和提高运算速度在硬件限定的情况下也会出现更高明的算法来实现类似的效果。往往很多算法和架构的设计模型都可以映射到数学模型之上这是非常常见的一种思路。通过数学模型的逻辑推演和证明来实现对计算机技术的设计闭环。学习计算机的一般要学习高等数学微积分等、线性代数矩阵等、离散数学或组合数学集合、图论等等。三、应用的场景和分析下面将从计算机技术几个重要的应用场景对数学的应用进行初步的分析说明算法和数据结构大多数的开发者能直面的数学知识基本都在这个分类里了。比如数组对应着数学中序列、线性结构树和图对应着数学中的树和图等等计算机视觉和图形学这个领域应用到的数学知识特别多但搞这个的开发者相对来说要少很多。其涉及到的主要是线性代数和几何论中的知识。特别是矩阵、向量等。当然微积分、三角函数等应用也相当广泛。比如图形的旋转其实就是矩阵变换为基础。而常见的人脸识别等则需要对图像进行分割计算涉及到几何、概率等数学知识数据库系统数据库系统是一种广泛使用的技术它的底层使用了各种算法和数据结构如存储数据的红黑树等。而在查询时又需要使用集合、关系代数等来进行速度和空间的平衡计算机网络和安全随着某公司免费了病毒软件看上去木马和病毒离普通大众远了。但实际上在现代的网络通信中安全问题始终是重中之重。它涉及到的网络拓扑、密码学、压缩技术等等。都离不开数学如用HTTPS和银行交易的加密算法中就有数学中的椭圆曲线或大质数分解、概率论、信息论等节点的路由离不开图论中的相关数学知识点等等编译技术大多数开发者对编译技术本身就了解的相当少但几乎是天天要用到。所以这里需要说明一下。编译技术中用到的最明显的就是离散数学中的有限自动机和图论。操作系统并发技术操作系统其实和数学的结合更加紧密。它既是动态的又是静态的。首先操作系统中对文件等的管理使用的是图和树而对并行并发控制使用的是逻辑与状态机。为了能够更好的解决进程的调度又需要使用数学中的排队理论等等AI和大模型数学在AI和大模型中应用也非常广泛这个专门放在下面分析科学计算及仿真技术这个其实普通大众应用的很多但对其后面数学知识并不了解。典型的如利用计算机技术进行天气预报。它涉及到微分方程、数值分析和概率论、数理统计等。当然大规模的数据也需要使用线性代数中矩阵进行处理其实在计算机中还有很多应用比如上面只提到了软件方面的应用。硬件的设计和制造其实也有很多相关的数学知识这里就不再展开。四、AI的应用现在AI和大模型的应用非常广泛其实它们的底层更是离不开数学知识。下面就对其应用到的常见的数学知识进行说明线性代数这个有一点基础AI技术的都知识象向量、矩阵等等都是线性代数的知识。更不用谈其中的各种矩阵的运算和处理了概率论和数理统计在神经网络中的分类和预测以及损失函数的设计都用到了概率相关的数学知识其它如马尔可夫决策过程、各种评估以及用于防止过拟合的正则化等都涉及数理统计和概率论。特别在Transformer机制中注意力机制中更是使用到了概率相关的数学知识微积分这个最典型的就是梯度而梯度及相关的运算是神经网络的基础。包括梯度下降、缺失函数、反向传播、激活函数到优化器等等都离不开它信息论如果提到信息论可能很多不搞这个专业的不太明白。但提一个名词就明白了熵。在大模型的文本生成中就是对熵进行控制的过程。还有包括交叉熵注意力机制中的动态信息路由、KL等等都是信息论的内容最优化AI和大模型本质就是一个查找最优的过程明白了这一点就明白了最优化的应用。无论是在大模型的设计还是推理、训练等过程中最优化是无处不在的。比如权重的量化、优化器的处理以及LoRA中都会涉及可以认为在AI和大模型中对数学计算的应用达到了集大成者。它应用到了线性代数、概率论、数理统计、微积分及信息论和最优化等等数学知识。可以说数学与AI和大模型是密不可分的。五、总结很多开发者可能感觉不到数学的重要性但从上面的分析可以看出数学在计算机领域的应用多么丰富结合多么紧密。而更应该引起重视的是经常提到的编程思想其实就是一种抽象。而这种抽象的思维就离不开数学打下的基础。可以这样理解数学为计算机科学提供了理论基础计算机科学为数学提供计算力它们二者互相促进共同发展。