
算法
学习总结算法设计这么课程所学的一些对我们有用的算法知识
狠情
这个作者很懒,什么都没留下…
展开
-
二分法查找(java递归与非递归实现)
非递归实现二分法查找/** * 二分法查找 非递归实现 */public class BinarySearchNoRecur2 { public static void main(String[] args) { int array[]={1,3,8,10,11,67,100}; int index = binarySearch(array,100); System.out.println("index="+index); }原创 2020-08-04 16:34:02 · 319 阅读 · 0 评论 -
java实现剑指offer中关于排序的二维数组查找数是否存在此数组的问题
对于一个给定的已经排序的二维数组,行按照从大到小的顺序排列,列也按照从大到小的顺序排列,给定一个数字,查看此数是否存在这个数组中,如果存在,则返回true,否则返回falsejava代码实现如下,public class FindNum { public static void main(String[] args) { int array[][]= {{1,2,8,9},{2,4,...原创 2020-04-14 09:40:19 · 155 阅读 · 0 评论 -
八大排序之选择排序
选择排序:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置,下一趟从n-1个元素中选出最小/大的元素并放在最前/后位置。以此类推,经过n-1趟完成排序。//选择排序public class SelectSort { public static void main(String[] args) { int array[] = {10,9,4,5,1...原创 2020-04-01 17:57:52 · 268 阅读 · 0 评论 -
八大排序之冒泡排序
基本思想:通过对排序序列从前往后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,像水底的气泡一样逐渐上冒因为排序过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明有序,因此在排序过程中设置一个标志flag判断元素是否进行过交换,减少不必要的比较规则一共进行(数组的大小-1)次大的循环每一趟排序的次数逐渐减少如果发...原创 2020-04-01 16:31:26 · 147 阅读 · 1 评论 -
用递归实现求n!阶层和菲波那切数列
递归算法1.求n!阶层和我们都知道n!是指n+(n-1)+(n-2)+…+1,用java来实现这个递归public class Factorial { public static int factorial(int n) { if(n==1) { //n为1,返回结果为1 return 1; }else { //n大于等于1,调用递归算法 return factori...原创 2019-11-08 23:11:38 · 662 阅读 · 0 评论