算法求最值
㈠ 遗传算法求最小值点
用遗传算法求已知函数的最小值点的方法:
1、首先建立自定义函数,f(x)
ga_fun=@(x)11*sin(6*x)+7*cos(5*x);
2、其二用ga()函数求解最小值
[x,fval,exitflag] = ga(ga_fun,1,[],[],[],[],lb)
3、然后用ezplot()函数或plot()函数,绘出其函数f(x)的图形及最小值点
4、运行结果
㈡ 写出一个求有限整数列中的最大值的算法。
解:算法如下: 第一步:先假定序列中的第一个整数为“最大值”; 第二步:将序列中的下一个整数与“最大值”比较,如果它大于此“最大值”,这时就假定“最大值”是这个扒滚整数; 第三皮斗步:如果序列中还燃此磨有其他整数,重复第二步; 第四步:在序列中一直到没有可比的数为止,这时假定的 “最大值”就是这个序列中的最大值。 |
㈢ 如何求任意三个实数的最大值 请设计一个算法
假设这三个数分别为:a、b、c
设枯庆亩最大的数为:max
如果 a >= b,则 max=a,反之 max=b;
如果 max >=c ,则 max=max ,反之 max=c;
这没森样三个数中最大差亏的数就是max 了。
㈣ 写一个算法,求单链表中的最大值
可以参考下面的代码:
public static int FindMax(Node head)
{
if (head == null)
return 0;
int Max = head.value;
while(head.next != null)
{
if (head.next.value > Max)
Max = head.next.value;
head = head.next;
}
return Max;
(4)算法求最值扩展阅读:
单链表的具体存储:
1、用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
2、链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))
链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。