数据结构与算法
依旧00
这个作者很懒,什么都没留下…
展开
-
java版经典算法排序汇总
之前用java写过几篇关于排序算法的博客,作为一个初级菜鸟把所有的代码都写在main函数中,感觉不是很好,今天特意花点时间整理一下。 从性能方面而言,内部排序的多种排序方法各有优缺点,无法评定出可以获得公认的最佳排序法,排序算法在不同的环境中执行效率存在较大差异。按排序过程中依据的原则,内部排序方法可以分为插入排序,交换排序,选择排序,并归排序和分配排序5类;按照内部排序过程中所需的工作量,则可...原创 2014-02-11 21:30:47 · 1159 阅读 · 0 评论 -
递归
递归( recursion)是程序调用自身的过程,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 代码实现如下: public class RecursionDemo { //递归 public static int getsum(int a){ if (a==1) return 1; return原创 2013-12-24 13:12:28 · 774 阅读 · 0 评论 -
冒泡排序
在java的许多程序设计中,通常需要对数列按序排列,冒泡排序是常见的排序方法之一。 冒泡排序(Bubble sort)是指依次比较相邻的两个数,将最大或最小的那个数放在后面,工作原理如下: (1)比较第一个数和第二个数,将小的放在前面,大的放在后面。 (2)比较第二个和第三个数,将小的放在前面,大的放在后面。 (3)使用(1)(2)中的方法继续向下比较,直到比较到最后两个为止,此时第一轮结原创 2013-12-22 12:22:00 · 988 阅读 · 0 评论 -
选择排序
选择排序(Selection sort)就是每一轮待排序的数据元素中选出一个最大(或最小)的元素,依次放在已排好序的数列的最后,直到全部待排序的数据元素都完成排序。 例如,数列a[9]中,首先选择a[0]至a[8]中最小数与元素啊a[0]互换,然后选择a[1]至a[8]中的最小数与a[1]互换,总共进行8轮排序。 实现代码如下:public class testSort {//选择排序 p原创 2013-12-27 12:11:11 · 749 阅读 · 0 评论