鱼与熊掌(数学与编程)是如何兼得的And对编程学习有什么建议

帅得不敢出门
博客专家认证
2008-11-03 10:52:16
查了几个帖子都说两者没啥关系
引用下:
我不懂高等数学,可以学编程吗?
答:没问题,学吧.
高数大部分编程用不到,高数都是钻头角尖的东西.为了一个证明,写了三黑板.
----------------------------------------------------------
我想大家应该对以下几个问题都会感兴趣的 特发此贴 大家都谈谈 酌情给分(发个108分的贴邀你(一起)发)

1:你觉得有没有关系 ,数学对你编程的提高你觉得有什么帮助?
2:是什么让你从容地从数学转到编程 二者结合如火纯青?
3:如何才能学好程序设计 学成另一个"飞雪" ?
4:有什么书可介绍的 或者对大家有什么好的学习建议?

...全文
315 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
g315580086 2011-01-09
  • 打赏
  • 举报
回复
MARKUP
hjzwl1018 2008-11-14
  • 打赏
  • 举报
回复
ok...
debugk 2008-11-05
  • 打赏
  • 举报
回复
up
liangjing851212 2008-11-05
  • 打赏
  • 举报
回复
我觉得还是有点逻辑联系的,数学可以锻炼思维反映能力。对编程的算法来说应该是有帮助的吧。虽然我的数学不好。。O(∩_∩)O哈哈~。
sxxiaozi 2008-11-05
  • 打赏
  • 举报
回复
数学就是内功,编程是外功,两者结合就很牛啦
星羽 2008-11-05
  • 打赏
  • 举报
回复
水~~~~
jia_xiaoxin 2008-11-05
  • 打赏
  • 举报
回复
up
aozhi 2008-11-04
  • 打赏
  • 举报
回复
用我们头儿的话说编成是一门杂学.
baihacker 2008-11-04
  • 打赏
  • 举报
回复
居然忘了反过来分析了.

通过编程可以验证数学上的一些想法,通过实现数学上的东西服务于现实.
哥德巴赫猜想,通过程序验证了很多,但是...问题没有解决.
机器证明...
你不知道你设计的算法的收敛性,或者怀疑自己的证明,最好的方法就是编程实现,并验证...
费马曾经撒过一个"谎",费马数是质数,因为对于大数,他的计算工具处理不了了...后来才发现大于4时,费马数全是合数,他这个"谎"也撒得太大了
baihacker 2008-11-04
  • 打赏
  • 举报
回复
限在高等数学,范围未免太于过窄了.
当提出这个问题的时候我首先想到的是对编程下一个定义,其中又引出对数学下定义...是一件恼火的事啊.
退而求其次,举点数学在编程中的作用,

首先从计算机上讲,额...不说这个.只是提一点,量子计算
编程总要有语言:在语言的发展里,好像是在50年代吧,出现了一些语言,然后在60年代回到对基础理论的研究,形式语言学,然后继续发展,这方面的东西可以在形式语言与自动机的理论中找到.
可以把最差算法达到O(n!)的算法优化到O(1):如判断组合数C(m,n)的奇偶性.
你可以通过数学特性的提取大量剪枝搜索树.
你可以把一个很多问题转化成一个数学上的优化问题,用凸分析的理论去证明了最优解的存在唯一性(单纯形法)
你可以用群论的方法去分析一个最小代价排序问题:对于正数序列的,通过交换进行排序的,定义代价为交换两个数据的和,的最小代价排序(置换的分解,到最后可以用分解定理证明大于4次的代数方程无根式解)
很多工程上的问题需要用数学来解决(这就太多了),而很多数学上的东西是来源于工程并发展的(傅里叶变换,缓增函数空间)
对于有类型程序设计语言,类型系统是一个很重要的东西,而类型系统正好和某个代数相对应,然而又有自己的特点,是不是可以从这个角度来研究一下呢?(一般的书都会看作代数,但是如何去研究各个代数的关系,进而在程序设计语言中表现出来呢?可能这只是一些废话,也许根本不值得研究)
计算n个结点的二叉树的数目(你可以转为出栈序列来,然后用双重生成函数或者单的生成函数解决,但是思维对了,直接就可以给出结果)
在算法导论中引入不变式对算法进行证明,不变式正是从数学归纳法演绎而来的,这个从中学就开始讲起.

看上去,在语言发展,算法和思维上了有比较紧密的联系了.
不过可以断言的是,联系不仅仅限制在这仅有的一些方面上.

再说,上面提到的都是些表现,并没有深入剖析,我对这些的理解还不够深,还是自己在以后慢慢体会吧.

也许在你的工作中用不到这些,可能拿多少薪水才是更重要的.
你能做,别人不能做,就可以拿高薪了,至于怎么选择就要看你了.
即使,直接用不上,锻炼思维也是可以的,可能有时,解决问题就是其中的启发.

学好数学,从思维的角度来讲,你已经是编程高手了.
太乙 2008-11-04
  • 打赏
  • 举报
回复
upup~~~

chiyan2914 2008-11-04
  • 打赏
  • 举报
回复
up
yzfyzyl 2008-11-04
  • 打赏
  • 举报
回复
1:你觉得有没有关系 ,数学对你编程的提高你觉得有什么帮助?
相通的东西是勤奋、分析能力和思维能力,前者决定后者

2:是什么让你从容地从数学转到编程 二者结合如火纯青?
两个东西是相通的,但不同的是,编程必须勤练。
一个算法必须写出代码并且结果正确无误,你才算是学会了它

3:如何才能学好程序设计 学成另一个"飞雪" ?
勤奋

4:有什么书可介绍的 或者对大家有什么好的学习建议?
我最近写了本算法基础书的初稿,可能对你有用



飞燕算法群:46520219
lann64 2008-11-04
  • 打赏
  • 举报
回复
先搞清楚什么是高等数学,这个东西从上大学开始就没搞清楚过。线性代数属不属于高等数学?反正初等、中等数学里是没有的,概率论呢?图论呢?数字逻辑呢?难道高等数学等于微积分?不是吧。
一个连矩阵变换都不了解的人可以做好编程?恐怕也只能做到coding民工的程度吧。
搞系统级的,如果连函数连续性都无法证明的话,我看也不用搞了,形式语言到了语义层都是连续性支撑的。
应用级的我还没见哪个实际领域能脱离数学的,除非你只想知其然不求所以然。自己不能建模,那也就亦步亦趋跟着别人干干工匠的活了。当然工匠也可以做得很好。
但要更上层楼,数学就是内功底子。
macfan 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 zmlovelx 的帖子:]
1:你觉得有没有关系 ,数学对你编程的提高你觉得有什么帮助?
2:是什么让你从容地从数学转到编程 二者结合如火纯青?
3:如何才能学好程序设计 学成另一个"飞雪" ?
4:有什么书可介绍的 或者对大家有什么好的学习建议?
[/Quote]
1.数学上大学后就没怎么学了.
2.偶数学不好.
3.多写代码.
4.任何书都有其可学的道理.
rcbblgy 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lann64 的回复:]
先搞清楚什么是高等数学,这个东西从上大学开始就没搞清楚过。线性代数属不属于高等数学?反正初等、中等数学里是没有的,概率论呢?图论呢?数字逻辑呢?难道高等数学等于微积分?不是吧。
一个连矩阵变换都不了解的人可以做好编程?恐怕也只能做到coding民工的程度吧。
搞系统级的,如果连函数连续性都无法证明的话,我看也不用搞了,形式语言到了语义层都是连续性支撑的。
应用级的我还没见哪个实际领域能脱离数学的,除…
[/Quote]

up
rcbblgy 2008-11-04
  • 打赏
  • 举报
回复
1:你觉得有没有关系 ,数学对你编程的提高你觉得有什么帮助?

简单的编程不需要深厚的数学基础,但如深入的话,没有好的数学基础是不行的吧。

2:是什么让你从容地从数学转到编程 二者结合如火纯青?

个人感觉二者相辅相成,无需什么结合。

3:如何才能学好程序设计 学成另一个"飞雪" ?

努力吧。

4:有什么书可介绍的 或者对大家有什么好的学习建议?

这个,我是初学者,没有什么资格说。
yuhudie203 2008-11-04
  • 打赏
  • 举报
回复
数学可提高算法分析能力
ForestDB 2008-11-04
  • 打赏
  • 举报
回复
1:你觉得有没有关系 ,数学对你编程的提高你觉得有什么帮助?

编程讲究逻辑,数学是个很锻炼逻辑的东西。

2:是什么让你从容地从数学转到编程 二者结合如火纯青?

没编程解决过什么数学问题(方程求解,矩阵预算什么的,都是用matlab)。
不过离散数学也是数学就除外(数据结构)。

3:如何才能学好程序设计 学成另一个"飞雪" ?

学飞雪。

4:有什么书可介绍的 或者对大家有什么好的学习建议?

看看计算机科学。
《深入理解计算机系统——从程序员的视角》
帅得不敢出门 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chaojiew 的回复:]
还有,转到非技术去
[/Quote]
我不觉得这种讨论是非技术的
加载更多回复(8)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧