java多线程归并排序_并行计算实验-串、并行排序算法
并行实验报告
一、项目背景
项目要求实现快速排序、枚举排序、归并排序三种排序方法的串行和并行算法,并且进行性能比较和优化分析。其中数据集`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多线程归并排序_并行计算实验-串、并行排序算法相关推荐
- 利用MPI实现并行排序算法PSRS
参考 MPI实现psrs MPI并行正则采样排序PSRS算法原理及实现 实验题目 利用MPI实现并行排序算法PSRS 实验环境 操作系统 编译器 硬件配置 Ubuntu 16.04 mpicc 双核 ...
- java 多线程同步_浅谈Java多线程(状态、同步等)
Java多线程是Java程序员必须掌握的基本的知识点,这块知识点比较复杂,知识点也比较多,今天我们一一来聊下Java多线程,系统的整理下这部分内容. 一.Java中线程创建的三种方式: 1.通过继承T ...
- java多线程实例_要把Java吃透您得先吃透这些基本概念
学习好比盖房子,打地基好很重要,房了能盖多高关键看地基:学习同样道理,基础知识是以后学习一切技术的必要条件,我们在准备学习一门开发语言时,首先要学习它的基础,不仅要会,更要融会贯通:万变不离其宗,无论 ...
- java 多线程 张孝祥_多线程11_张孝祥 java5的线程锁技术
本例子因为两个线程公用同线程中,使用同一个对象,实现了他们公用一把锁,实现了同一个方法的互斥. package locks; /** *会被打乱的效果 */ public class LockTest ...
- java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析
0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...
- java 快速排序_面试必不可少的几大排序算法,你掌握了吗?
从上学那一刻起,老师就说排序算法很重要,面试的时候考官常会问道,要我们认真的学习,出去工作的学长学姐也说这么说的,那么为了能在面试中取得好的印象,我们很有必要对算法进行了解,以便在面试中取得好的印象, ...
- ++代码实现 模糊综合算法_干货 | 十大经典排序算法最强总结(内含代码实现)...
一.算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序. 非比较类排序:不通过比较来决定元 ...
- shell sort 最后一列排序_十个必知的排序算法|Python实例系列[1]
实例内容: 十个必知的排序算法具体代码,并简略的得知每种算法对于不同长度数列的排序时间 十大排序: 1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序8.计数排序9.桶 ...
- 数据结构实验:内部排序算法的性能分析
文章目录 前言 一.问题描述 二.问题分析 三.实验结果及分析 (1)实验数据描述 (2)实验结果 (3)性能分析 四.源代码 前言 记录下本学期的数据结构实验 本实验主要集中于比较几种内部排序算法 ...
最新文章
- ImportError: /lib64/libc.so.6: version `GLIBC_2.17‘ 问题解决
- 一步步在SAP Cloud Platform上创建HANA实例并使用
- EFI BIOS下的磁盘管理工具Diskpart,Efifmt与Efichk(转)
- oh-my-zsh中如何去掉命令提示符前缀
- 计算机职称业务工作业绩总结,档案职称工作业绩
- Emacs lisp 列表与函数的区别
- python写excel
- 迟来的2013年总结及算法工程师/研究员找工作总结
- HFSS天线设计流程
- 做了这么多年的技术,你有写过博客吗?
- 联想ThinkPad升级BIOS和EC新手教程
- 基础篇:6.1)公差标注的进化
- 设置PyCharm背景图片
- html5分镜头脚本范例,(最新整理)分镜头脚本范本
- ptb同一屏呈现两张图片matlab,PTB诊断心电数据库中的原始ECG信号的特征提取
- Spring boot (21)多数据源引起的循环引用和AutoConfigureAfter失效的问题
- 利用傅里叶变换获取低频和高频部分图像
- 借一道leetcode思考总结map/set的应用及区别
- c3p0存在严重bug
- 别人在忙挖矿,阿里工程师却悄悄用区块链搞了件大事!