原文:用Lua实现的快速排序和冒泡排序及效率对比

昨天学习了一下七大排序中的两个 冒泡排序和快速排序,遂用Lua简单的实现了一下。 冒泡排序: 快速排序: 效果测试: 结果当然是两种排序算法都正确的排出了table中的顺序,但是效率有了明显的差异, 这是冒泡排序所用时间:,然后是快速排序所用时间:,原来算法的好坏表现出来的可以差这么多啊。。。 下面是我学习这两个算法的帖子: http: www.cnblogs.com mcgrady p .htm ...

2014-10-24 17:59 1 4902 推荐指数:

查看详情

比较快速排序冒泡排序,双向冒泡排序的执行效率

快速排序 原理是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 ...

Tue Jan 06 20:21:00 CST 2015 0 3327
排序冒泡排序快速排序)

的。 一、 冒泡排序 冒泡排序的基本思想:每次比较两个相邻的元素,如果它们的顺序错误就把他们交换过来 冒泡 ...

Tue Mar 26 04:27:00 CST 2019 1 4695
js数组冒泡排序快速排序的原理以及实现

冒泡排序:   随便从数组中拿一位数和后一位比较,如果是想从小到大排序,那么就把小的那一位放到前面,大的放在后面,简单来说就是交换它们的位置,如此反复的交换位置就可以得到排序的效果。 快速排序:    从数组的中间拿一个值,然后通过这个值挨个和数组里面的值进行比较,如果大于的放 ...

Tue Mar 08 18:17:00 CST 2016 0 10824
js冒泡排序快速排序实现原理和方法

面试经常遇到这个问题,所以整理下,以便理解。 经常用到的排序方法有两种,冒泡排序快速排序。 1.先说快速排序 原理:每一次比较相邻两个数的大小,通过第一轮循环排序,找到最大值放到后面,第二轮找到二大值放后面。 代码实现: 比如说执行 ...

Thu Aug 08 00:49:00 CST 2019 0 472
php实现快速排序冒泡排序

快速排序 实现思路:把第一个元素作为标记,依次判断后续的值,如果小于它则放在左边,如果大于它则放右边,同理把左右两部分看成一个整体一直递归,最后再数组拼接起来 它的最优时间复杂度为O(nlogn)【以标记元素为中心,正好每次左右都能均匀分配】,最糟糕时间复杂度为O(n^2)【标记元素每次是最大 ...

Sat Jun 02 07:55:00 CST 2018 0 2716
java冒泡排序快速排序

本ID技术干货公众号“java工会”,欢迎关注指正。 一、冒泡排序 1.算法介绍 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们,其结果是将最小的元素交换到待排序序列的第一个位置,我们称它为 ...

Mon Apr 02 22:45:00 CST 2018 2 13487
算法-冒泡排序快速排序

冒泡和递归一样,不管大家水平怎么样,基本上都能凑合的写写,快速排序其实主要的也是数据的交换,都算是交换排序,不过快排需要了解分治思想,实现的时候需要递归一下,导致很多时候看快排的时候都看的云里雾里。假设有一个无序的整型数组 索引 ...

Mon Mar 16 06:13:00 CST 2015 0 2131
再看冒泡排序快速排序

对于冒泡排序,大家肯定都熟知,每一轮的冒泡都将最大的数排到最前面,每一轮的时间复杂度是O(n),如果要排序的数组大小为n,要经过n轮才能将数组中所有元素排序,所以总共的时间复杂度为O(n2)。 关于冒泡排序的源码如下: 对 于快速排序,选出一个枢纽元素,然后将这个枢纽 ...

Thu Jan 03 01:24:00 CST 2013 2 6938
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM