×

选择排序算法代码 算法 选择排序算法

初学者:用java程序写一个选择排序算法!?求出最短路径,要过程,用Dijkstra算法

admin admin 发表于2022-07-08 22:09:01 浏览102 评论0

抢沙发发表评论

初学者:用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.多级反馈队列调度算法

一、先来先去服务

  先来先去服务调度算法是一种最简单的调度算法,也称为先进先出或严格排队方案。当每个进程就绪后,它加入就绪队列。当前正运行的进程停止执行,选择在就绪队列中存在时间最长的进程运行。该算法既可以用于作业调度,也可以用于进程调度。先来先去服务比较适合于常作业(进程),而不利于段作业(进程)。

二、时间片轮转法

  轮转法是基于适中的抢占策略的,以一个周期性间隔产生时钟中断,当中断发生后,当前正在运行的进程被置于就绪队列中,然后基于先来先去服务策略选择下一个就绪作业的运行。这种技术也称为时间片,因为每个进程再被抢占之前都给定一片时间。

三、最短进程优先

  最短进程优先是一个非抢占策略,他的原则是下一次选择预计处理时间最短的进程,因此短进程将会越过长作业,跳至队列头。该算法即可用于作业调度,也可用于进程调度。但是他对长作业不利,不能保证紧迫性作业(进程)被及时处理,作业的长短只是被估算出来的。

四、最短剩余时间优先

  最短剩余时间是针对最短进程优先增加了抢占机制的版本。在这种情况下,进程调度总是选择预期剩余时间最短的进程。当一个进程加入到就绪队列时,他可能比当前运行的进程具有更短的剩余时间,因此只要新进程就绪,调度程序就能可能抢占当前正在运行的进程。像最短进程优先一样,调度程序正在执行选择函数是必须有关于处理时间的估计,并且存在长进程饥饿的危险。
-选择排序算法