计数排序 基本思想 ? 计数排序对一定量的整数排序的速度非常快,一般快于其他排序算法。但计数排序局限性比较大,只限于对整数进行排序。 对于一个输入数组中的一个元素i,只要我们知道了这个数组中比i小的元素的个数x,那么我们就可以直接把i放到第(x+1)个位置,即i的索引为x(索引从0开始)。 算法步骤 ...
分类:
编程语言 时间:
2020-04-05 00:23:43
阅读次数:
85
排序算法 [toc] 1. 排序算法概述 1.1 什么是排序算法? 对一序列对象根据某个关键字,按照某种规则进行排序 1.2、排序术语 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面 内排序 :所有排序操作都在 ...
分类:
编程语言 时间:
2020-03-30 19:39:50
阅读次数:
76
【题目描述】 给出一个含有n(0 < n ≤ 1000)个整数的数组,请找出其中出现次数超过一半的数。数组中的数大于-50且小于50。 【输入】 第一行包含一个整数n,表示数组大小; 第二行包含n个整数,分别是数组中的每个元素,相邻两个元素之间用单个空格隔开。 【输出】 如果存在这样的数,输出这个数 ...
分类:
编程语言 时间:
2020-03-29 00:59:13
阅读次数:
117
* 以下均是以实现数组的从小到大排序为例 1、冒泡排序 先遍历数组,让相邻的两个元素进行两两比较 。如果要求小到大排:最大的应该在最后面,如果前面的比后面的大,就要换位置; 数组遍历一遍以后,也就是第一次全部比对结束,最后一个数字就是最大的那个元素; 然后进行第二遍的遍历,还是按照之前的规则,第二大 ...
分类:
编程语言 时间:
2020-03-22 10:40:44
阅读次数:
75
@[toc] 插入排序 二分插入排序 选择排序 选择排序 冒泡排序 快速排序 堆排序 归并排序 桶排序 计数排序 ...
分类:
编程语言 时间:
2020-03-18 09:53:29
阅读次数:
66
大家好啊,这是0算法基础学算法系列第二篇,上次我在第一弹里讲了关于流程图的内容,我寻思着,这次讲些什么好呢,于是我决定,教大家一个很基础的算法,那就是排序,排序有很多方法,如果你有更多方法请在评论区里留言哦。 排序在程序中特别实用,常用的有快速排序,桶排序,冒泡排序,插入排序等等,在这里我不建议使用 ...
分类:
编程语言 时间:
2020-03-16 23:54:42
阅读次数:
117
1.冒泡排序 /* 冒泡排序 */ void bubbleSort(int arr[], int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { i ...
分类:
编程语言 时间:
2020-03-03 20:41:16
阅读次数:
91
/* 桶排序: 对象中,数字键按照升序排列.依据这一特性实现排序,将数组的值作为对象的键和值存入 注:因为对象的键不重复,因此不支持数组有重复元素存在的情况 */ var arr = [2, 12, 1, 3456,0]; function BucketSort(arr) { var o = {}; ...
分类:
编程语言 时间:
2020-02-19 21:15:50
阅读次数:
86
计数排序和鸽巢排序十分相似,同属于桶排序的一种,它的优势在于在对一定范围内的整数排序时,它的速度极快无比,但空间上就恶心一些了。 ...
分类:
编程语言 时间:
2020-02-19 13:11:00
阅读次数:
102
https://www.runoob.com/w3cnote/radix-sort.html 算法系列 1.0 十大经典排序算法 1.1 冒泡排序 1.2 选择排序 1.3 插入排序 1.4 希尔排序 1.5 归并排序 1.6 快速排序 1.7 堆排序 1.8 计数排序 1.9 桶排序 1.10 基 ...
分类:
编程语言 时间:
2020-02-17 12:27:17
阅读次数:
57