zoukankan      html  css  js  c++  java
  • 排序算法思想描述

    排序算法思想描述

    ---qpz

    一、直接选择排序法

    a) 核心思想:在无序区间寻找最值与无序区间首元素交换

              遍历所有元素排序

    1. 记录无序区间第一个元素位置

    2. 向后遍历所有元素寻找最值位置(寻找最大值还是最小值取决于降序还是升序)

    3. 遍历结束以后找到最值,交换与记录点的位置,记录点向后移动一位

    4. 重复123过程直到所有元素遍历完成

           时间复杂度为On^2) 空间复杂度为O1

     

    二、直接插入排序法

    a) 核心思想:不断的从无序区间取值插入有序区间使得有序区间依然有序

    i. 区第一个元素为有序区间

    ii. 取无序区间第一个元素,保存元素值

    iii. 将次元素值从后向前与有序区间元素比较(大还是小取决于降序还是升序)

    iv. 每次比较开始前将有序区间元素后移

    v. 直到找到插入点,将元素插入

    vi. 重复2-5步骤直到无序空间为空

    b) 时间复杂度为On^2) 空间复杂度为O1

    三、冒泡排序法

    a) 核心思想:遍历n次,每次遍历不断的交换相邻元素直到本次遍历结束没有交换一次或者n次遍历结束

    i. 从第一个元素开始向后遍历,比较本次元素与下一个元素的大小为交换条件(大小取决于降序还是升序)

    ii. 记录下一个元素重复1,结束条件为区间最后一个元素

    iii. 区间长度-1

    b) 时间复杂度On^2) 空间复杂度O1);

     

  • 相关阅读:
    RCP二级菜单的实现
    volatile 的作用
    C6678 核间通信(IPC)
    大小端模式详解
    SPI 极性与相位对采样的影响
    DSP c6678的启动方式
    DSP CCS初学
    volatile的作用
    JTree/DefaultMutableTreeNode 树形结构
    java.awt.Graphics2D绘制流程图基本元素
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457674.html
Copyright © 2011-2022 走看看