随笔分类 - 算法之道
摘要:上一篇:基础算法(一) 1. 冒泡排序(BubbleSort) 原理:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数...
阅读全文
摘要:最近看了《Java编程那些事》博客专栏,在讲到Java流程控制那块,提到了很多自己当初学习过程中涉及到的小算法,都很经典,以后会不断的将接触到的算法更新到本博文中,供自己以后查看,也可以作为大家学习的一个小资料。1. 最大公约数 问题:求两个自然数的最大公约数。 这两个都是基础的数学问题,最大公约数指两个数字公共的约数中最大的,例如数字6的约数有1、2、3、6,数字9的约数有1、3、9,则数字6和数字9的公共约数有1和3,其中3是最大的公约数。第一种思路:从1开始循环,每次把符合要求(即同时是两个数字的约数)的值都存储起来,那么最后一个存储起来的就是最大的约数。则实现的代码如下:...
阅读全文

浙公网安备 33010602011771号