zoukankan      html  css  js  c++  java
  • 二分查找法 冒泡排序法

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

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

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

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

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

    二分查找法必须遵循:

    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出去找的维基百科资料】
     
     
     
     
  • 相关阅读:
    通过IMM With Remote Console为服务器安装操作系统
    linux下编译安装php5.6出现 configure: error: Cannot find MySQL header files under /usr/local/mysql.
    5700交换机清除配置
    嵌入式驱动解析:从串口驱动到Linux驱动模型
    Win10自带Ubuntu子系统的安装与配置
    关于嵌入式C代码优化的几种方法
    2020软考高级系统分析师,你想知道的全在这
    libpng warning: iCCP: known incorrect sRGB profile
    pycharm中导入pygame库失败及解决办法
    pycharm中导入pygame等第三方库
  • 原文地址:https://www.cnblogs.com/TENOKAWA/p/5224207.html
Copyright © 2011-2022 走看看