排序算法 1、基本介绍 ? 排序算法比较基础,但是设计到很多计算机科学的想法,如下: ? 1、比较和非比较的策略 ? 2、迭代和递归的实现 ? 3、分而治之思想 ? 4、最佳、最差、平均情况时间复杂度分析 ? 5、随机算法 2、排序算法的分类 算法分类 冒泡排序 (1)冒泡排序的介绍 ? 冒泡排序是 ...
分类:
编程语言 时间:
2019-12-09 01:23:47
阅读次数:
75
实现原理 数组中有 n 个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过 n-1(数组的 length - 1) 轮,就完成了所有数的排序。 好的,我们先来实现找数组中的最大数,并把他放到数组最后。 var arr = [3,4 ...
分类:
编程语言 时间:
2019-12-08 17:13:03
阅读次数:
77
首先,效果是点击添加折叠面板,折叠面板的title右侧是关闭的小按钮,每次添加的面板都自动展开,其他的面板自动关闭,但其中发现一个问题是,每次点击关闭的时候,虽然上一个面板被关闭了,但他的下一个会自动打开,想把这个问题解决就发现是冒泡时间,当点击的时候会冒泡,误以为是点击展开,所以vue里边有个阻止 ...
分类:
其他好文 时间:
2019-12-08 12:32:39
阅读次数:
215
鸡尾酒排序其实就是冒泡排序的变形,它的时间复杂度和冒泡排序一样,都是O(n^2),比快速排序要慢不少。 鸡尾酒排序算法 鸡尾酒排序的思想有点像摆钟一样,从左到右,又从右到左。而冒泡排序只是单向执行。 鸡尾酒排序也是交换排序,假设做一个升序排序,先从左到右,交换一趟把最大的数放置右边,然后从右到左,把 ...
分类:
编程语言 时间:
2019-12-08 01:00:40
阅读次数:
76
冒泡排序(Bubble Sort) 一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来是因为越 ...
分类:
编程语言 时间:
2019-12-07 23:31:40
阅读次数:
95
原题: 想了很久,想的是模仿冒泡,从大到小检查每一个数后面的数是否都与它互质,然后把它设为1(等价于放到最后不考虑) 然后一直想数据结垢 出来跟人交流,“这不是挺典型的思维题么哈哈哈” 利用性质: 调和级数求和,当n=1e5时n/1+n/2+...+n/n约等于1e7 这个性质至少是第二次见了,拿个 ...
分类:
编程语言 时间:
2019-12-07 21:12:07
阅读次数:
100
快速排序属性 上一篇文章介绍了冒泡排序和它的优化。这次介绍的快速排序是冒泡排序演变而来的算法,比冒泡排序要高效的很多。 快速排序之所以快,是因为它使用了分治法。它虽然也是通过不断的比较和移动来实现排序的,只不过它的实现,增大了比较的距离和移动的距离。而冒泡排序只是相邻的比较和交换。 快速排序的思想是 ...
分类:
编程语言 时间:
2019-12-07 19:20:53
阅读次数:
87
C++sort()函数的用法 (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c+ ...
分类:
编程语言 时间:
2019-12-07 12:29:38
阅读次数:
95
出现的问题如下图所示(截屏看不出来看log) 再移动鼠标的过程中会不断的出现异常值导致拖动的div不断切换位置,回到左上角。 我以为是冒泡机制导致的所以添加了下面一段阻止冒泡,随便也阻止了默认事件,但是并没有效果 =========================================== ...
分类:
移动开发 时间:
2019-12-07 12:24:50
阅读次数:
112
1、 .stop:阻止事件冒泡 (直接写在点击事件的后面@click.stop) 2、 .self :只当事件在该元素本身(不能是里面的子元素),触发时触发回调,(你只有点击了元素本身才会触发函数,当有冒泡事件经过时,该元素的函数并不会执行@click.self) 3、.prevent阻止默认事件 ...
分类:
其他好文 时间:
2019-12-07 12:24:36
阅读次数:
65