摘要: 基数排序(桶排序的一种)介绍 1)基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用2)基数排序法是属于稳定性的排 阅读全文
posted @ 2020-11-02 16:12 白刃天使 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 归并排序介绍 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 归并排序思想 阅读全文
posted @ 2020-11-02 15:57 白刃天使 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 快速排序法介绍 快速排序(Quicksort)是对冒泡排序的一种改进。 基本思想是: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 快速排序法示意 阅读全文
posted @ 2020-11-02 15:43 白刃天使 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 引入:简单插入排序存在的问题 插入排序可能存在的问题是数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的过程是: {2,3,4,5,6,6} {2,3,4,5,5,6} {2,3,4,4,5,6} {2,3,3,4,5,6} {2,2,3,4,5,6} {1,2,3 阅读全文
posted @ 2020-11-02 15:18 白刃天使 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 插入排序法介绍 插入排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 插入排序法思想 把 n 个待排序的元素看成为一个有序表和一个无序表, 一开始时有序表中只包含一个元素(arr[0]),无序表中包含有 n-1 个元素(arr[1]~arr[n]) 排序过程 阅读全文
posted @ 2020-11-02 15:03 白刃天使 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 基本介绍 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 选择排序思想 第一次从 arr[0]~arr[n-1]中选取最小值, 与 arr[0]交换, 第二次从 arr[1]~arr[n-1]中选取最小值,与 arr[1]交换, 第三次从 阅读全文
posted @ 2020-11-02 14:50 白刃天使 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序(Bubble Sorting)的基本思想 通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒。图解: 小结: (1) 一共进行(数组的大小-1)次大的循环 (2)每一趟排序的次数在逐渐的减 阅读全文
posted @ 2020-11-02 14:44 白刃天使 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 排序的分类 1) 内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 2) 外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 3) 常见的排序算法分类: 算法的时间复杂度 度量一个程序(算法)执行时间的两种方法 1) 事后统计的方法 这种方法可行, 但是 阅读全文
posted @ 2020-11-02 14:33 白刃天使 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 递归需要遵守的重要规则 1) 执行一个方法时,就创建一个新的受保护的独立空间(栈空间)2) 方法的局部变量是独立的,不会相互影响, 比如n变量3) 如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据.4) 递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflo 阅读全文
posted @ 2020-11-02 14:18 白刃天使 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 逆波兰式计算器 1) 输入一个逆波兰表达式(后缀表达式),使用栈(Stack), 计算其结果2) 支持小括号和多位数整数,只支持对整数的计算。 思路分析: 从左至右扫描表达式, 遇到数字时,将数字压入堆栈, 遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素 和 栈顶元素),并将结 阅读全文
posted @ 2020-10-16 14:55 白刃天使 阅读(779) 评论(0) 推荐(0) 编辑