主题:[讨论]不同方向的软件开发需要怎样的算法?
各位好,我是一名在校大学生。我比较偏向于网络方面的开发,比如web开发,还有一些和网络比较相关的软件,像聊天软件之类的,甚至一些黑客性软件。
前段时间自己做留言簿练手,发现,其实很多时候我根本不怎么用到算法,像排序这类比较基本的算法甚至都不需用到。
我想问下,真正工作时的软件开发,一般都可能用到哪些算法呢?多复杂的算法?
比较类似于AI的算法[color=C0C0C0](我自己认为它们接近于AI了,一般在游戏中比较常见,像人机五子棋之类的算法)[/color]:
一般是先设定某个(些)要求,然后设计一个算法,用户输入数据后,根据之前的要求判断可行性或做出符合之前规定的输出行为[color=808080](比如:
例:卡1的数字是1和2 卡2的数字是2和3,那么卡1和卡2就可以相接.
如果有如下卡:
1-2 3-2 4-6 3-4 6-5
那么可以排成如下 1-2 2-3 3-4 4-6 6-5
卡与卡之间的数是一样的.
请你编一道程序,输入的是卡中的号,请你按规则,得到排序后的结果
只需打印出其中一个,如果无法排,请打印出"没有办法!"...) [/color]
这样的算法会常用到吗?如果会一般是什么类型的软件比较常用到?
由什么类型的程序员(系统设计师?)完成这类算法设计?
我的算法能力向来不是很好,数学也是我的弱项,我很是担心这个问题。
我比较喜欢模块性的软件开发,就是能快速开发出完成某种功能(比如供人留言的留言簿、论坛;播放程序、下载程序等)的程序,而且我也觉得它们不怎么用到很复杂的算法(是这样吗?)。
我该怎么办?很是迷惑啊
前段时间自己做留言簿练手,发现,其实很多时候我根本不怎么用到算法,像排序这类比较基本的算法甚至都不需用到。
我想问下,真正工作时的软件开发,一般都可能用到哪些算法呢?多复杂的算法?
比较类似于AI的算法[color=C0C0C0](我自己认为它们接近于AI了,一般在游戏中比较常见,像人机五子棋之类的算法)[/color]:
一般是先设定某个(些)要求,然后设计一个算法,用户输入数据后,根据之前的要求判断可行性或做出符合之前规定的输出行为[color=808080](比如:
例:卡1的数字是1和2 卡2的数字是2和3,那么卡1和卡2就可以相接.
如果有如下卡:
1-2 3-2 4-6 3-4 6-5
那么可以排成如下 1-2 2-3 3-4 4-6 6-5
卡与卡之间的数是一样的.
请你编一道程序,输入的是卡中的号,请你按规则,得到排序后的结果
只需打印出其中一个,如果无法排,请打印出"没有办法!"...) [/color]
这样的算法会常用到吗?如果会一般是什么类型的软件比较常用到?
由什么类型的程序员(系统设计师?)完成这类算法设计?
我的算法能力向来不是很好,数学也是我的弱项,我很是担心这个问题。
我比较喜欢模块性的软件开发,就是能快速开发出完成某种功能(比如供人留言的留言簿、论坛;播放程序、下载程序等)的程序,而且我也觉得它们不怎么用到很复杂的算法(是这样吗?)。
我该怎么办?很是迷惑啊