初学者:用java程序写一个选择排序算法!
选择排序法:
public class TSort{
public static void main(String args){
int a={12,45,2,5,26,56};
for(int i=0;i《a.length-1;i++){
int t;
for(int j=i+1;j《a.length;j++){
if(a[i]》a[j]){
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
for(int i=0;i《a.length;i++){
System.out.print(a[i]+“ “);
}
}
}
求出最短路径,要过程,用Dijkstra算法
从v1开始遍历
v2 = 2;
v3 = 5;
v2较小所以跳到v2
v3 = 4;
v4 = 6;
v5 = 8;
v3较小所以跳到v3
v4 = 5;
v6 = 7;
v4较小所以跳到v4
v6 = 6;
v7 = 9;
v6较小所以跳到v6
v7 = 8;
所以最后结果v1 -》 v7最短路径为v1-》v2-》v3-》v4-》v6-》v7,最短路径长度为8
进程调度算法的国内外研究现状有哪些
调度算法是指:根据系统的资源分配策略所规定的资源分配算法。常见的进程调度算法有:
1.先来先去服务
2.时间片轮转法
3.多级反馈队列算法
4.最短进程优先
5.最短剩余时间优先
6.最高响应比优先
7.多级反馈队列调度算法
一、先来先去服务
先来先去服务调度算法是一种最简单的调度算法,也称为先进先出或严格排队方案。当每个进程就绪后,它加入就绪队列。当前正运行的进程停止执行,选择在就绪队列中存在时间最长的进程运行。该算法既可以用于作业调度,也可以用于进程调度。先来先去服务比较适合于常作业(进程),而不利于段作业(进程)。
二、时间片轮转法
轮转法是基于适中的抢占策略的,以一个周期性间隔产生时钟中断,当中断发生后,当前正在运行的进程被置于就绪队列中,然后基于先来先去服务策略选择下一个就绪作业的运行。这种技术也称为时间片,因为每个进程再被抢占之前都给定一片时间。
三、最短进程优先
最短进程优先是一个非抢占策略,他的原则是下一次选择预计处理时间最短的进程,因此短进程将会越过长作业,跳至队列头。该算法即可用于作业调度,也可用于进程调度。但是他对长作业不利,不能保证紧迫性作业(进程)被及时处理,作业的长短只是被估算出来的。
四、最短剩余时间优先
最短剩余时间是针对最短进程优先增加了抢占机制的版本。在这种情况下,进程调度总是选择预期剩余时间最短的进程。当一个进程加入到就绪队列时,他可能比当前运行的进程具有更短的剩余时间,因此只要新进程就绪,调度程序就能可能抢占当前正在运行的进程。像最短进程优先一样,调度程序正在执行选择函数是必须有关于处理时间的估计,并且存在长进程饥饿的危险。
-选择排序算法