并行计算基础

耗尽温柔 提交于 2020-01-04 05:05:34

冒泡排序算法:

  - 算法分析:

    时间复杂度:
      经过几轮修改,数组正序时,最优复杂度可以达到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、一条指令的输入包含全部或者部分另一条指令的输出。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!