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);

     

  • 相关阅读:
    怎么写好组件
    html5/css3常考面试题
    js各种继承方式和优缺点的介绍
    C#控件背景透明的几种解决方案
    c# 控件闪烁处理方法
    使用委托的BeginInvoke方法来完成复杂任务的操作
    C#中的预处理器指令
    C#中父窗口和子窗口之间实现控件互操作
    C#编程让Outlook乖乖交出帐户密码
    在Linux上运行C#
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457674.html
Copyright © 2011-2022 走看看