Java数据结构与算法_简单算法
这里复习三种最基本的排序算法,冒泡,选择和插入,他们的时间复杂度都为O(n^2)。
冒泡排序
冒泡排序是排序算法中最慢,但是最简单的一种。冒泡只所以叫做冒泡是因为在算法的外部循环中,每一次都会把队列的最大(最小)值,找出来。
public void bubbleSort(int[] array) { int in, out; for (out = array.length - 1; out > 1; out--) { for (in = 0; in < out; in++) { if (array[in] > array[in + 1]) swap(in, out); } } }
选择排序
选择排序算法其实是冒泡排序算法的改进,将必要的交换次数从O(N2)减少到了O(N).但是比较次数任然是O(N2)。
public void selectedSort(int[] array) { int in, out; int max; for (out = array.length; out > 1; out--) { max = out; for (in = 0; in < out; in++) { if (array[in] > array[max]) max = in; } swap(in, max); } }
插入排序
插入排序是三种简单排序算法中最简单的一种。
public void insertSort(int[] array){ int in,out,temp; for(out=1;out<array.length;out++){ temp = array[out]; in=out; while(in>0&&array[in]>temp){ array[in]=array[in-1]; in--; } array[in]=temp; } }
几种简单排序之间的比较
除非手边没有书可参考的,一般情况几乎不太实用冒泡算法。它过于简单了,以至于可以毫不费力的写出来,然而当数据量很晓得时候,它会有些应用的价值
选择排序虽然把交换次数降到了最低,但比较的次数任然很大。当数据量很小,并且交换数据相对于比较数据更加耗时的情况下,可以应用选择排序。
大多数情况下,假设当数据量比较小或者基本上有序时,插入排序算法是三种简单排序算法中最好的选择。对于更大的数据量的排序来说,快速排序时最快的算法。
相关推荐
《C++ 就简单算法实现大全》是一本针对C++初学者和爱好者编写的书籍,旨在帮助读者快速掌握C++编程基础并理解并实践各种基本算法。C++是一种强大而灵活的面向对象编程语言,被广泛应用于软件开发、游戏编程、系统...
这里的“一些简单算法代码”集合提供了一些基础但实用的算法实现,旨在帮助初学者更好地理解和应用这些概念。下面我们将深入探讨这些算法及其在实际编程中的应用。 首先,排序算法是计算机科学中最基本的算法之一,...
算法 ,简单 入门 LeetCode网站开放的简单算法题,用于平时检验自己的算法能力,程序设计.
这个压缩包文件“停泵水锤的简易算法及算例.zip”很可能包含了关于如何理解和计算这种现象的详细资料,包括算法的描述和具体算例。 首先,我们来了解一下停泵水锤的基本概念。停泵水锤是由于液体的动量守恒和能量...
本文将深入探讨标题提及的"图像处理的直线简单算法程序",以及与之相关的"DDA(Digital Differential Analyzer,数字微分分析器)"和"Bresenham"算法。这两种算法是计算机图形学中用于在像素网格上高效绘制直线的...
这种简易算法可能是通过递归或迭代的方式来完成的,它可能避免了复杂的递归结构,使得理解和实现更为简单。 描述中提到“尚有待改进”,这暗示了该算法可能存在效率问题,或者在处理大规模数据时可能会遇到性能瓶颈...
【算法引论及简单算法】是计算机科学领域的重要组成部分,主要关注如何有效地解决问题。这个主题不仅涉及算法的设计,还涉及到算法分析,以评估算法在不同规模问题上的效率。以下是相关知识点的详细说明: 1. **...
JAVA&C简单算法JAVA&C简单算法JAVA&C简单算法JAVA&C简单算法JAVA&C简单算法
一种改进的区域四叉树空间搜索简易算法,关于空间索引的论文,只有用中国知网的读书器才能打开
生成矩阵简单算法
简单的车牌识别分割程序,通过rgb空间识别车牌,垂直投影法分割车牌
PB下的加密解密的简单算法 原理上对原字符串的每个字符做了数值转换,在加上加密因子,经过颠倒错位后再形成加密后数值,解密时再颠倒转换回来。 比较简单,现在用于对安全性要求不高的应用里。 原来发了一份,资源...
汽车评估简易算法.pptx
DSP28335运算速度快,精度高,初学者用DSP实现简单算法,加强对CCS软件的使用,并把计算结果与MATLAB仿真结果对比
Java 简单算法实例运行即可,实现前两个数相加等于后一位数,如 1 1 2 3 5 8 13 21... 数据类型
MATLAB的简单算法
逆序的很简单算法--递归调用 C语言 代码量不超过十行
利用MPI计算矩阵相乘的简单算法[归纳].pdf
【精品】2.1 算法的概念2.2 简单算法举例2.3 算法的特性2.4 怎样表示...72.ppt
均值谱的简易算法(无需存储每一帧数据,思路简单)