前言: 冒泡,选择:使用了普通双指针法 插入,快速,归并:使用了二分法,递归 冒泡排序 原理:不断比较相邻两个数得大小,把较大的数交换到靠后的位置 def bubbleSort(iList): '''冒泡排序 ''' if len(iList) <= 1: return iList for i in ...
分类:
编程语言 时间:
2021-07-16 17:32:50
阅读次数:
0
2021-07-03 LeetCode每日一题 链接:https://leetcode-cn.com/problems/sort-characters-by-frequency/ 标签:哈希表、字符串、桶排序、计数、排序、堆(优先队列) 题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列 ...
分类:
编程语言 时间:
2021-07-05 17:47:43
阅读次数:
0
常见算法 算法与数据结构是面试考察的重中之重,也是日后刷题时需要着重训练的部分。 简单的总结一下,大约有这些内容: 算法 - Algorithms 1、排序算法:快速排序、归并排序、计数排序2、搜索算法:回溯、递归、剪枝技巧3、图论:最短路、最小生成树、网络流建模4、动态规划:背包问题、最长子序列、 ...
分类:
编程语言 时间:
2021-06-22 18:19:06
阅读次数:
0
排序 分类 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行(k路归并) 内排序:所有操作再内存就可以完成 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的 ...
分类:
编程语言 时间:
2021-06-08 22:35:45
阅读次数:
0
1.使用基数排序的思想排序元素 3289 1615 6743 8881 0517 6819 9917 0124 个位数桶: 8881 6743 0124 1615 0517 9917 3289 6819 十位数桶: 1615 0517 9917 6819 0124 6743 8881 3289 百位 ...
分类:
编程语言 时间:
2021-05-24 15:44:48
阅读次数:
0
十大经典排序算法 排序算法可以分为内部排序和外部排序,内部排序时数据记录在内存中进行排序,而外部排序时因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等 ...
分类:
编程语言 时间:
2021-04-27 15:03:51
阅读次数:
0
#基数排序 也是采用分桶的思想,但是加入了按位比较的思想(可以理解为每位进行一次计数排序) 思路: 计算数列中最大位数 按位数循环处理每位的排序 代码实现: #include<iterator> #include<iostream> #include<vector> using namespace ...
分类:
编程语言 时间:
2021-04-20 15:17:05
阅读次数:
0
基数排序介绍 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的概 ...
分类:
编程语言 时间:
2021-04-10 13:20:52
阅读次数:
0
张克清 冒泡排序和选择排序算法两个排序算法 、三个查找算法及测试程序 /*排序算法1、冒泡排序2、插入排序3、选择排序4、希尔排序5、归并排序6、快速排序7、堆排序8、基数排序*/int BubbleSort(int a[],int n){int i=0,j=0;int temp=0;for(i=0 ...
分类:
编程语言 时间:
2021-01-25 10:56:25
阅读次数:
0
importjava.util.Arrays;importjava.util.Random;publicclassCountSort{staticclassItem{intindex;intnum;}privatestaticvoidsort(Item[]items,intbound){intn=items.length;int[]count=newint[bound];int[]sum=newi
分类:
编程语言 时间:
2020-11-27 11:52:06
阅读次数:
22