• 二分查找法 冒泡排序法


    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;

    缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。

    首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;

    否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。

    重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

    二分查找法必须遵循:

    1.必须采用顺序存储结构

    2.必须按关键字大小有序排列。

     

    冒泡排序

    冒泡排序是一种简单的排序算法。

    它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

    走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

    这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。

    冒泡排序算法的运作如下:(从后往前)

    ​1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

    2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

    3.针对所有的元素重复以上的步骤,除了最后一个。

    4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    JAVA冒泡排序

    代码:

     1 public class BubbleSort{
     2      public static void main(String[] args){
     3          int score[] = {67, 69, 75, 87, 89, 90, 99, 100};
     4          for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序
     5              for(int j = 0 ;j < score.length - i - 1; j++){    //对当前无序区间score[0......length-i-1]进行排序
     6                  if(score[j] < score[j + 1]){    //把小的值交换到后面
     7                      int temp = score[j];
     8                      score[j] = score[j + 1];
     9                      score[j + 1] = temp;
    10                  }
    11              }            
    12              System.out.print("第" + (i + 1) + "次排序结果:");
    13              for(int a = 0; a < score.length; a++){
    14                  System.out.print(score[a] + "	");
    15              }
    16              System.out.println("");
    17          }
    18              System.out.print("最终排序结果:");
    19              for(int a = 0; a < score.length; a++){
    20                  System.out.print(score[a] + "	");
    21         }
    22      }
    23  }
    https://zh.m.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F#。【是我FQ出去找的维基百科资料】
     
     
     
     
  • 相关阅读:
    四则运算实现
    第四周例行报告
    代码规范,结对要求
    第三周例行报告
    第三周作业3功能测试
    第二周例行报告
    第一次作业汇总
    2017/2/24:Maven的pom jar war的区别
    oracle的常用99条语句
    2017/2/21:配置自己的中文乱码拦截器
  • 原文地址:https://www.cnblogs.com/TENOKAWA/p/5224207.html
Copyright © 2020-2023  润新知