1.1算法
算法是解决特定的计算机问题的一种工具
例如:一个排序问题
输入a1,a2,a3.....an
要求输出a1',a2',a3'.....an'并且满足(a1'<=a2'<=a3'.....<=an')
这个问题就可以用算法解决
算法在现实中的应用;
例如:
1.人的DNA排序问题
2.世界各地的人们相互交互的信息如何以最快的速度到达对方
3.现在比较流行的电子商务,人们通过网络可以做贸易
4.在制造业和其他商业中如何最有效的配置自己的资源,如何更加有效的满足顾客的需要等等
还有另外的一些问题:
1.有一张地图标明了一些位置,以及位置之间相互的距离,如何判断从一个位置到另外的位置的最短线路,这在计算机中我们引入了"图"的概念解决
2.给定n维矩阵的向量(A1,A2,A3.....An),看看矩阵的乘积结果,假设n=4,即A1,A2,A3,A4,则矩阵的乘积一共有以下几种情况:(A1(A2(A3A4))),:(A1((A2A3)A4)),:((A1A2)(A3A4)),:((A1(A2A3))A4),:(((A1A2)A3)A4),如何得到有多少种情况,在以后的学习中会学习到
3.给定一个等式ax=b(mod n) 其中a,b,n都是整行,如何得到所有的解,我们可以把x从0,1,2.....n-1试验,但是在以后的学习种会告诉一种更加有效的解法
4.平面中有n个点,如何确定这些点的"凸包",凸包就是包含这些点的最小的凸多边形
习题(答案只是写的一些自己知道的,希望大家踊跃讨论,互相学习,我也会在以后的学习中补充):
1.分别举出现实中需要下面的算法的例子
<1>排序问题
答:排序问题在现实中是很多的,成绩排序等等
<2>矩阵乘积最好的顺序
答:
<3>找出"凸包"
答:好象游戏中经常用到
2.除了"速度",人们在现实中衡量效率的方式
答:
3.选择一种数据结构,说明其的优缺点
答:链表,栈,图,等等,数据结构中应该学到过
4.the shortest-path 问题和 traveling-salesman问题的相同点和不同点是什么?
答: the shortest-path问题是,在现实中有几个地点,地点之间有不同的距离,问题是从一个点到另一个点的多条路径中的最短的路径
traveling-salesman问题是,现实中有几个地点,一个人从起点要走遍其他的所有点(或者部分点),然后再回到起点,问最优路径
5.想出现实中的两个例子
<1>
必须是最好的解决方案才行
答:
<2>
大约是最好的解决方案就可以了
答: