冒泡优化测试(1百万元素排序)

简介: 优化:去除排序完成后的,轮数空转时间(bubblingSortx方法) 冒泡排序及优化代码:冒泡排序和优化 测试代码: package com.ts.w;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Array1millionSize { p

优化:去除排序完成后的,轮数空转时间(bubblingSortx方法)

冒泡排序及优化代码:冒泡排序和优化

测试代码:

package com.ts.w;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Array1millionSize {

	public static int [] getList(){
		int rdNum = (int) (Math.random() * 100);
//		List<Integer> list = new ArrayList<Integer>(1000000);
//		for(int i = 0; i < 1000000; i++){
//			list.add(i+rdNum);
//		}
		int [] intArray = new int[1000000];
		for(int i = 0; i < 1000000; i++){
			intArray[i] = i + rdNum;
		}
		return intArray;
		
	}
	
	public static void main(String[] args) {
		long sTime = System.currentTimeMillis();
		int [] list = getList();
		long eTime = System.currentTimeMillis();
		System.out.println("生成1百万int数组的time:"+(eTime - sTime)+"ms");
//		int listLen = list.length;
//		long sTime0 = System.currentTimeMillis();
//		for(int i = 0;i < listLen; i++){
//			System.out.println(list[i]);
//		}
//		long eTime0 = System.currentTimeMillis();
//		System.out.println("1百万int数组打印时间time0:"+(eTime0 - sTime0)+"ms");
		int [] temp1 = list;
		int [] temp2 = list;
		long sTime1 = System.currentTimeMillis();
		int [] temp3 = BubblingSort.bubblingSort(temp1);
		long eTime1 = System.currentTimeMillis();
		System.out.println("bubblingSort方法排序时间1time:"+(eTime1 - sTime1)+"ms");
		long sTime2 = System.currentTimeMillis();
		int [] temp4 = BubblingSort.bubblingSortx(temp2);
		long eTime2 = System.currentTimeMillis();
		System.out.println("bubblingSortx方法排序时间2time:"+(eTime2 - sTime2)+"ms");
		if(Arrays.equals(temp3, temp4)){
			System.out.println("内容相同数组");
		}else{
			System.out.println("不是内容相同数组");
		}
	}
}


测试结果:

生成1百万int数组的time:5ms
bubblingSort排序中……
bubblingSort方法排序时间1time:143847ms
bubblingSortx排序中……
bubblingSortx方法排序时间2time:3ms
内容相同数组

注:在两个方法开始时,加入"排序……",等待显示!

可见空转确实有很长时间!(暂时,不确定,计算机对重复操作的处理!)

目录
相关文章
|
20天前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
65 5
|
19天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
59 3
|
2月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
44 5
|
17天前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
111 56
|
24天前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
62 4
|
2月前
|
关系型数据库 MySQL 测试技术
《性能测试》读书笔记_数据库优化
《性能测试》读书笔记_数据库优化
30 7
|
2月前
|
缓存 监控 算法
软件测试中的性能瓶颈定位与优化策略
性能瓶颈,如同隐藏在系统深处的“拦路虎”,悄无声息地制约着软件的表现。本文将揭示如何通过一系列科学方法,识别并消除这些障碍,从而显著提升软件性能,确保用户享受到流畅无阻的数字体验。
|
3月前
|
存储 人工智能 自然语言处理
知识库优化增强,支持多种数据类型、多种检索策略、召回测试 | Botnow上新
Botnow近期对其知识库功能进行了全面升级,显著提升了数据处理能力、检索效率及准确性。新版本支持多样化的数据格式,包括PDF、Word、TXT、Excel和CSV等文件,无需额外转换即可直接导入,极大地丰富了知识来源。此外,还新增了细致的文本分片管理和编辑功能,以及表格数据的结构化处理,使知识管理更为精细化。 同时,平台提供了多种检索策略,包括混合检索、语义检索和全文检索等,可根据具体需求灵活选择,有效解决了大模型幻觉问题,增强了专业领域的知识覆盖,从而显著提高了回复的准确性。这些改进广泛适用于客服咨询、知识问答等多种应用场景,极大提升了用户体验和交互质量。
71 4
|
3月前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
49 1