![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法-(java)
XIAOBAI@极客创蚁
这个作者很懒,什么都没留下…
展开
-
排序-归并排序
飞机票!问题:给指定n个数排序(归并排序)思路:归-递归,并-合并;对长度为n的数递归拆分,然后在每次递归中合并排序;code:public class MergerSort { public static void main(String[] args) { Scanner as=new Scanner(System.in); int i,n; ...原创 2018-03-25 17:03:22 · 2529 阅读 · 0 评论 -
排序-冒泡排序
飞机票!问题:给十个数排序(从小到大)思路:两层循环,里面的循环,每次当前数与后一个数比较大小,大的数放在后面,这样外面每层循环都找到后面余下的最大数,然后存入数组输出;code:public class BubbleSort { public static void main(String[] args) { Scanner as=new Scanner(System....原创 2018-03-21 19:18:14 · 96 阅读 · 0 评论 -
排序-选择排序
飞机票!问题:给十个数排序(从小到大)思路:从第一个数起,每次找它与后面数中的最小数,然后与当前位置交换位置code:public class selectSort { public static void main(String[] args) { Scanner as=new Scanner(System.in); int[] a=new int[10...原创 2018-03-21 19:31:01 · 116 阅读 · 0 评论 -
排序-插入排序
飞机票!问题:给十个数排序(从小到大)思路:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。code:pu...原创 2018-03-21 19:33:17 · 136 阅读 · 0 评论 -
排序-快速排序
飞机票!问题:给指定n个数排序(快速排序)思路:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。code:public class quecksort { private static void swap(int[] a, int index, int i) { int z=a[...原创 2018-04-19 20:21:12 · 182 阅读 · 0 评论 -
排序-堆排序
飞机票!问题:给指定n个数排序(堆排序)思路:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。Code:public class heapsort { public static void main(String[] args) {原创 2018-05-01 17:51:41 · 142 阅读 · 0 评论 -
算法-栈实现计算表达式值
飞机票!问题:以字符形式输入一个计算式求值,如1+2-(3-2)/2+3/(4*8)思路:栈实现计算表达式值;双栈:数字栈和运算符栈;每次对当前字符判断,数字则压入数字栈,运算符则判断运算符栈与当前运算符优先级;优先级相等,则字符串栈出栈一个元素(运算符),优先级低则将当前运算符压入运算符栈中;优先级高则优先级高则区出栈数字栈两个数字与出栈运算符栈栈顶运算符做运算,结果压入数字栈中,当前运算符不变...原创 2018-05-04 20:29:42 · 1325 阅读 · 0 评论 -
排序-桶排序
飞机票!问题:给指定n个数排序(桶排序)思路:是将数分到有限数量的桶子里(桶可以用数组、队列、链表、栈来实现,根据不同的需求选取不同的结构来当作桶)。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。简单来说,就是把数据分组,放在一个个的桶中,然后对每个桶里面的在进行排序。Code:public class bucketSort { public sta...原创 2018-05-06 13:11:42 · 138 阅读 · 0 评论 -
桶排序原理的进阶应用算法
飞机票!问题:给指定n个无序的数列,要求输出这n个数排序好相邻两个差最大值;(时间复杂度要求O(logn))输入:n(表示数列的长度,即n个数),接下来一行n个无序的数输出:排好序后相邻两个数之差的最大值思路:找出n数列的范围(即最大值与最小值),设置n+1个桶,存放这些数;将数列范围分成(n+1)份,平均分给n+1个桶,然后遍历数列将每个数存放在该数所在的范围的桶中(优化:每个桶只存放该范围内最...原创 2018-05-06 14:35:31 · 269 阅读 · 0 评论