小项目
文章平均质量分 79
KEENE_s
这个作者很懒,什么都没留下…
展开
-
大数计算(进阶) 支持大浮点数的任意精度加减乘除
上一篇实现了大数加法,乘除法都是简单的复用加法,这样做时间复杂度高,精度低。进阶:1.乘法模拟竖式计算方法 核心思路是num1[i]*num2[j]的结果一定对应乘积中的[i+j]位,并且考虑对[i+j+1]位的进位。 这样的时间复杂度为O(m*n) 而简单的复用加法的时间复杂度为 (q/p)*(n+m)其中q,p为大数的实际值,n,m为大数的位数,这样当p很小的时候,时间复杂度会很大。进一...原创 2018-04-07 17:42:38 · 1831 阅读 · 0 评论 -
大数计算 c++实现
为实现一个不会溢出的四则运算计算器,我们需要将数据存入字符串中,并自己实现加减乘除的逻辑。存储结构设计:为了方便计算,将符号位,整数部分,小数部分分别存储enum SIGN{ POSITIVE, NEGATIVE};class Num{protected: SIGN _sign; //符号位 string _int; //整数位 string _fl...原创 2018-04-07 00:22:23 · 2235 阅读 · 0 评论 -
基于神经网络的手写数字识别(上)
导读:近期人工智能火热,十分好奇,决定了解一些基础知识。本篇博客将从一个数学系渣渣本科生的角度,以学习记录的方式,整理关于BP神经网络的基础知识,以及实现一个简单的BP神经网络实现手写数字识别。网络上关于 手写数字识别BP神经网络实现 的博客和教程很多,有些写的十分详细,质量很高,但是有些教程存在一些关键性问题,我在学习的时候被坑了不少。例如有些博客中对于神经网络训练的原理讲解十分详细,但事实上对...原创 2018-04-28 18:12:06 · 15818 阅读 · 2 评论 -
基于神经网络的手写数字识别(下)
传送门:基于神经网络的手写数字识别(上)上一篇文章讲述了BP神经网络的基本思想以及反向传导,梯度下降法等概念。在本篇文章中,将给出用c++实现BPnet,以及将应用到手写数字识别中去。一:神经节点的抽象、数据的组织形式struct neuron{ vector<double>weight; //对下一层的权重 vector<double>update_w...原创 2018-04-28 19:42:40 · 3595 阅读 · 3 评论