基数排序 /* * 1.求出排序中最大的数的位数 * 2.创建10个桶,并且桶的大小为数组的长度 * 3.为了记录桶中的数的多少bucketElementCounts * 4. * */ public static void radixSort(int [] arr){ // * 1.求出排序中最大 ...
分类:
编程语言 时间:
2020-11-06 01:35:55
阅读次数:
24
一、实验描述 Radix Sort。实现桶式排序和基于桶式排序的基数排序。在基数 B 中,数组长度 n 和 最大元素 m 中,对排序时间影响最大的是哪一个?元素在未排序数组中的顺序是否对时间复杂度有影响?设计实验证明你的想法。 Stack。用 C 语言设计堆栈,并实现中缀表达式到后缀表达式的转换。 ...
分类:
其他好文 时间:
2020-10-27 11:43:38
阅读次数:
19
1 /// <summary> /// 与传统比较的排序算法不一样的排序的手段,使用下标来确定正确位置的排序方法 /// </summary> /// <param name="array"></param> /// <returns></returns> private static int[] ...
分类:
编程语言 时间:
2020-09-18 02:07:15
阅读次数:
31
排序 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法 (稳定的排序是指排序前后相同的两个数的相对位置是一致的) 一.冒泡排序 1.算法描述 比较相邻元素,如果第一个比第二个大,交换位置,这样每经过一趟就冒出一个最大的 2.代码实现 p ...
分类:
编程语言 时间:
2020-08-19 19:14:17
阅读次数:
66
是一道排序的题目 题目也提示了计数排序的方法。 当输入的元素是 n 个 0到 k 之间的整数时,时间复杂度是O(n+k),空间复杂度也是O(n+k) 题目后来的要求是常数空间复杂度O1空间复杂度,一趟扫描On,肯定是在计数排序上有所发展。 这时我们应该关注这道排序的特殊之处,因为没有一种通用的排序算 ...
分类:
编程语言 时间:
2020-07-28 14:28:10
阅读次数:
65
一 排序算法的分类 二 时间复杂度和空间复杂度 1.时间复杂度 1.1 时间复杂度的计算方式 1).用常数1代替运行时间中所有的加法常数 2)修改后的运行次数函数中,只保留最高阶项 3)去除最高阶项的系数 1.2 常用算法的时间复杂度 这个需要牢记 2.空间复杂度 空间复杂度是一个算法在运行时临时占 ...
分类:
编程语言 时间:
2020-07-26 01:05:36
阅读次数:
76
近来有小伙伴问我:刷leetcode真的有用吗,觉得收益很小,越刷越迷茫了... 诚然每个人刷题的目的不一样,233酱还不是为了能水几篇文章... 当然不止。我觉得刷题是一件有意思的事,就像小猫小狗咬自己尾巴,玩弄的不亦乐乎。比喻可能不太恰当,是有种沉迷小游戏的感觉。可是在艰难打野的过程中,我们不要 ...
分类:
编程语言 时间:
2020-07-22 01:58:01
阅读次数:
64
三种时间复杂度为O(n)的排序算法:桶排序、计数排序、基数排序 这三种排序算法都不涉及元素之间的比较操作,也叫做线性排序(Linear sort) 桶排序 核心思想 将要排序的数据分散到有序的桶中,分别对桶中的数据进行排序。排序好了之后,按照桶的顺序依次取出,就得到排好序的数据了。 时间复杂度 时间 ...
分类:
编程语言 时间:
2020-07-21 23:13:45
阅读次数:
92
内部排序:数据记录在内存中进行排序外部排序:待排序文件较大,需要访问外存常见的内部排序:插入排序(直接插入、折半插入、希尔排序)、交换排序(冒泡、快排)、选择排序(简单选择、堆排序)、归并排序(2路归并)、基数排序外排:归并排序(多路归并)、各种内排的性能比较:插入排序每次将一个待排序的记录按关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成每一轮能够确定一个最终位置的记录,某时刻的状态
分类:
编程语言 时间:
2020-07-19 16:23:30
阅读次数:
50
题目来源:leetcode75 颜色分类 题目描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题 ...
分类:
其他好文 时间:
2020-07-17 13:44:07
阅读次数:
51