`
leearnold
  • 浏览: 68471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单排序算法运行效率比较

    博客分类:
  • Java
 
阅读更多

我对排序算法的代码进行了一些调整,首先对交换数据操作进行了判断,如果交换的x和y一样则不调用交换方法,另外我对三个排序类提取了一个公共接口,用户后面的代码测试.这个是对随机数字的排序效率比较代码

 

然后我还对使用正序数组,和倒序数组,以及上面例子中的相同的随机数组进行了对比测试结构如下:

 

同样的随机数
数组大小 运行时间
/ 冒泡 选择 插入
100 1 0 0
1000 7 4 3
10000 396 179 130
100000 40547 17975 13009
正序数组
数组大小 运行时间
/ 冒泡 选择 插入
100 0 0 0
1000 7 3 0
10000 225 180 1
100000 23199 18078 3
倒序数组
数组大小 运行时间
/ 冒泡 选择 插入
100 1 1 0
1000 6 3 4
10000 287 178 262
100000 29029 18315 25838

 

从结果中可以看出倒叙数组由于插入法需要所有的数据全部都要从前到后移动一遍,所以效率和冒泡方法几乎一样.选择法是最快的.

 

分享到:
评论

相关推荐

    java排序算法效率比较

    本实验通过生成大量随机数并写入文件,然后使用四种不同的排序算法进行排序,以比较它们的效率。以下是对这四种排序算法的详细解释: 1. **冒泡排序(Bubble Sort)** 冒泡排序是最基础的排序算法之一,它通过重复...

    数据结构课程设计(内部排序算法比较_C语言)

    ### 数据结构课程设计:内部排序算法比较_C语言 #### 一、课题背景与意义 排序作为数据结构中的重要组成部分,在实际开发中具有广泛的应用场景。理解不同排序算法的特点及其适用场景,对于提高程序效率和解决问题...

    排序算法效率比较(含报告)

    本项目“排序算法效率比较(含报告)”旨在通过实际运行并测量程序执行时间,对多种常见的排序算法进行详细比较,以便了解它们在不同情况下的性能表现。 一、排序算法的种类及其工作原理 1. 冒泡排序:通过重复遍历...

    内部排序算法比较 课程设计

    【内部排序算法比较课程设计】主要关注的是对六种经典的内部排序算法的性能对比,包括起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序和堆排序。这些算法是计算机科学中用于对数据进行排序的基础工具,各...

    c++实现比较各种排序算法的效率

    在`compare.cpp`中,开发者可能实现了上述排序算法,并通过计时函数来测量每种排序方法的运行时间,以实际数据比较它们的效率。实验报告`实验报告.doc`可能包含了详细的实验过程、结果分析以及对各种算法适用场景的...

    六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。

    在计算机科学领域,排序是处理数据的关键步骤,它将无序的数据序列转化为有序的数据序列,以便于数据分析、检索或...通过实际运行和分析,我们可以更好地理解各种排序算法的效率和适用性,为实际编程提供理论支持。

    各种排序算法效率比较MFC

    在编程领域,排序算法是计算机科学中的基础但至关重要的部分,它们用于整理数据,提高数据处理的效率。本文将深入探讨MFC(Microsoft Foundation Classes)环境下实现的各种内部排序算法,包括冒泡排序、选择排序、...

    数据结构排序算法设计与比较实验报告

    总的来说,这个实验旨在通过实践让学生深入理解排序算法的工作原理,并能实际比较它们在时间和空间效率上的差异。通过编写和运行这些排序算法,学生可以更好地掌握数据结构和算法的知识,并提升编程能力。

    算法效率_算法效率_

    本文将深入探讨几种常见的排序算法——冒泡排序、插入排序、希尔排序、选择排序、快速排序和堆排序,分析它们在不同情况下的效率表现。 首先,冒泡排序是一种简单的排序方法,它通过重复遍历数组,比较相邻元素并...

    各种排序算法比较

    时间复杂度用于衡量排序算法的效率,通常以大O表示法来表示。文档中提到了几种不同排序算法的时间复杂度: - **O(n²)**:插入排序、冒泡排序和选择排序的时间复杂度均为O(n²),这意味着随着数据量的增加,这些...

    排序算法效率分析-动态显示排序过程

    在信息技术领域,排序算法是计算机科学的基础,其性能直接影响到程序的运行效率。本软件是由资深算法研究者精心编写的,旨在通过动态展示排序算法的过程,帮助用户深入理解各种排序算法的工作原理,并简化测试与分析...

    各种排序算法比较(java实现)

    `Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...

    用C语言实现常用排序算法

    本项目旨在实现并比较六种经典的排序算法——直接插入排序、折半插入排序、起泡排序、简单选择排序、堆排序以及2-路归并排序,使用C语言编程。为了全面评估这些算法,我们将在一组随机生成的30000个整数上运行它们,...

    数据结构 排序算法的比较

    总的来说,理解并熟练掌握各种排序算法对于任何C++开发者来说都是基础且重要的技能,因为它直接影响到程序的运行效率和用户体验。在实际开发中,应根据具体情况选择最适合的排序策略,以实现最佳的性能和资源利用率...

    内部排序算法比较

    本报告主要关注了六种常见的内部排序算法:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序和堆排序,并通过实验比较它们在不同数据状态下的效率。 **一、算法原理** 1. **起泡排序**:通过不断交换...

    数据结构实验(排序算法效率比较平台).doc

    《数据结构实验报告——内部排序算法效率比较平台》 该实验报告主要关注的是对不同内部排序算法的时间复杂度和性能的比较。实验的目标是通过实际编程实现,对比直接插入排序、冒泡排序、简单选择排序、快速排序、堆...

    数据机构综合课设内部排序算法比较.docx

    **内部排序算法详解** 内部排序是指数据记录在内存中...在比较排序算法时,不仅要关注时间复杂度,还要考虑实际运行环境和特定数据集下的性能。通过生成随机数据并进行多次实验,可以更好地评估和理解这些算法的性能。

    数据结构课程设计 比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受

    在数据结构课程设计中,对内部排序算法进行深入理解和实践是非常关键的一部分。内部排序是指数据在内存中进行的排序过程,常见的...通过这样的学习,我们可以更好地选择适合特定场景的排序算法,提高程序的运行效率。

    堆排序,插入排序和优先对排序的运行时间的比较

    为了比较这三种排序算法的运行时间,`运行时间比较.cpp`文件很可能是包含测试代码的源文件。代码可能会通过计时函数记录每种排序算法在处理大规模数据时所花费的时间,然后进行对比。实际的比较应该包括不同数据规模...

    排序算法 各种算法的综合

    【排序算法】是计算机科学中的基础且至关重要的概念,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序排列。...了解各种排序算法的优缺点和时间复杂度,能帮助我们做出更明智的选择,以提高程序的运行效率。

Global site tag (gtag.js) - Google Analytics