并行计算基础

冒泡排序算法:

  - 算法分析:

    时间复杂度:
      经过几轮修改,数组正序时,最优复杂度可以达到O(n);逆序时,最差复杂度O(n2)。

    稳定性:

      算法中,每次只有前一个元素大于后一个元素,才会进行交换。所以数值相同的两个元素,不会发生位置互换,所以可以保持之前前后顺序。故,冒泡排序是稳定的排序。

  算法演示如下:

      

奇偶排序算法:

时间复杂度/空间复杂度;

排序方法 时间复杂度 空间复杂度 稳定性 复杂度
平均情况 最坏情况 最好情况
奇偶排序 O(nlog2n) O(nlog2n) O(n) O(1) 稳定 较简单

适用于并行计算的指令必须满足以下3个条件:

1、指令J的输入和指令I的输出交集为空;//不依赖另一条指令的输出作为输入

2、指令I的输入和指令J的输出交集为空;

3、指令I和指令J的输出交集为空;;//确保不会同时对相同的变量进行写操作

不适用于并行处理的场景:

1、两条指令享有共同的输出集;

2、一条指令的输出包含全部或者部分另一条指令的输入;

3、一条指令的输入包含全部或者部分另一条指令的输出。

原文地址:https://www.cnblogs.com/able7/p/10194863.html