并行实验报告

一、项目背景

项目要求实现快速排序、枚举排序、归并排序三种排序方法的串行和并行算法,并且进行性能比较和优化分析。其中数据集`random.txt`,当中包含30000个乱序数据,数据的范围是[-50000,50000],数据间以空格“ ”分隔。

具体要求:

1. 用Java多线程或者C#多线程模拟并行处理(推荐用Java)。

2. 说明程序执行方式,记录在ReadMe.txt中。

3. 读取乱序数据文件`random.txt`,排序完成后输出排序文件`order\*.txt`。(需提交六份order\*.txt,命名为order1.txt,order2.txt…以此类推)

4. 比较各种算法的运行时间,请将运行时间记录在2*3的表格中。行分别表示串行、并行,列分别表示快速排序、枚举排序、归并排序。

5. 撰写实验报告,包括并行算法的伪代码、运行时间、技术要点(如性能优化方法)等,结合各自的实验设备(如多核处理器)上的实验结果进行优化,并在实验报告中针对实验结果进行分析(考虑到并行算法多线程在单核处理器中的并行开销,有可能性能会比串行算法下降)。

6. 独立完成实验,杜绝抄袭。

二、算法伪代码

2.1 串行快速排序

```java

function quicksort(L, start, end):

if start < end :

p = partition(L, start, end)

quicksort(L, start, p-1)

quicksort(L, p+1,

java多线程归并排序_并行计算实验-串、并行排序算法相关推荐

  1. 利用MPI实现并行排序算法PSRS

    参考 MPI实现psrs MPI并行正则采样排序PSRS算法原理及实现 实验题目 利用MPI实现并行排序算法PSRS 实验环境 操作系统 编译器 硬件配置 Ubuntu 16.04 mpicc 双核 ...

  2. java 多线程同步_浅谈Java多线程(状态、同步等)

    Java多线程是Java程序员必须掌握的基本的知识点,这块知识点比较复杂,知识点也比较多,今天我们一一来聊下Java多线程,系统的整理下这部分内容. 一.Java中线程创建的三种方式: 1.通过继承T ...

  3. java多线程实例_要把Java吃透您得先吃透这些基本概念

    学习好比盖房子,打地基好很重要,房了能盖多高关键看地基:学习同样道理,基础知识是以后学习一切技术的必要条件,我们在准备学习一门开发语言时,首先要学习它的基础,不仅要会,更要融会贯通:万变不离其宗,无论 ...

  4. java 多线程 张孝祥_多线程11_张孝祥 java5的线程锁技术

    本例子因为两个线程公用同线程中,使用同一个对象,实现了他们公用一把锁,实现了同一个方法的互斥. package locks; /** *会被打乱的效果 */ public class LockTest ...

  5. java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析

    0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...

  6. java 快速排序_面试必不可少的几大排序算法,你掌握了吗?

    从上学那一刻起,老师就说排序算法很重要,面试的时候考官常会问道,要我们认真的学习,出去工作的学长学姐也说这么说的,那么为了能在面试中取得好的印象,我们很有必要对算法进行了解,以便在面试中取得好的印象, ...

  7. ++代码实现 模糊综合算法_干货 | 十大经典排序算法最强总结(内含代码实现)...

    一.算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序. 非比较类排序:不通过比较来决定元 ...

  8. shell sort 最后一列排序_十个必知的排序算法|Python实例系列[1]

    实例内容: 十个必知的排序算法具体代码,并简略的得知每种算法对于不同长度数列的排序时间 十大排序: 1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序8.计数排序9.桶 ...

  9. 数据结构实验:内部排序算法的性能分析

    文章目录 前言 一.问题描述 二.问题分析 三.实验结果及分析 (1)实验数据描述 (2)实验结果 (3)性能分析 四.源代码 前言 记录下本学期的数据结构实验 本实验主要集中于比较几种内部排序算法 ...

最新文章

  1. ImportError: /lib64/libc.so.6: version `GLIBC_2.17‘ 问题解决
  2. 一步步在SAP Cloud Platform上创建HANA实例并使用
  3. EFI BIOS下的磁盘管理工具Diskpart,Efifmt与Efichk(转)
  4. oh-my-zsh中如何去掉命令提示符前缀
  5. 计算机职称业务工作业绩总结,档案职称工作业绩
  6. Emacs lisp 列表与函数的区别
  7. python写excel
  8. 迟来的2013年总结及算法工程师/研究员找工作总结
  9. HFSS天线设计流程
  10. 做了这么多年的技术,你有写过博客吗?
  11. 联想ThinkPad升级BIOS和EC新手教程
  12. 基础篇:6.1)公差标注的进化
  13. 设置PyCharm背景图片
  14. html5分镜头脚本范例,(最新整理)分镜头脚本范本
  15. ptb同一屏呈现两张图片matlab,PTB诊断心电数据库中的原始ECG信号的特征提取
  16. Spring boot (21)多数据源引起的循环引用和AutoConfigureAfter失效的问题
  17. 利用傅里叶变换获取低频和高频部分图像
  18. 借一道leetcode思考总结map/set的应用及区别
  19. c3p0存在严重bug
  20. 别人在忙挖矿,阿里工程师却悄悄用区块链搞了件大事!

热门文章

  1. HDOJ 4069 Squiggly Sudoku 精确覆盖+搜索
  2. Mysql跨库跨表复制数据
  3. 门禁系统服务器 控制器 读卡器,门禁系统建设方案.docx
  4. 学习日记day09 ps
  5. layui 卡片式列表_CardView實現卡片式列表展示
  6. 蓝桥杯试题:Fibonacci数列
  7. vue使用过滤器,文字超出显示省略号
  8. 【图像分割】ExG超绿特征灰度化、二值化分割(Matlab及Python代码实现)
  9. 基于MQ-135传感器和Arduino开发板的烟雾探测器
  10. 《给后端工程师的前端开发课程》笔记