• 算法大神之路——排序


    从今天开始,给自己立下一个目标,每天晚上写一篇算法与数据结构的博客,用来给自己以后的算法工程师的目标铺路!

    今天晚上就以算法里面的排序,作为自己的第一章节吧.

    排序,就是讲一组数据,按照特定的规则去调换位置,使得数据具有某种顺序管理(递增或者递减).

    在排序过程中,数据的移动方式分为"直接移动"和"逻辑移动"

    直接移动是直接交换数据的位置,而逻辑移动则是仅仅改变数据的指针的值,而不移动数据的位置

    数据排序后的几点好处:
         数据比较容易阅读
         数据比较容易统计和整理
         可大幅度减少数据搜索的时间

    常见的排序分类

        冒泡排序,选择排序,插入排序,合并排序,快速排序,堆积排序,希尔排序,基数排序

    排序名称 排序特性
    冒泡排序 稳定,空间复杂度最佳
    选择排序 不稳定,空间复杂度最佳
    插入排序 稳定,空间复杂度最佳
    希尔排序 稳定排序,空间复杂度最佳
    快速排序 不稳定,空间复杂度最差O(n),最好为O(log2n)
    堆积排序 不稳定.空间复杂度最佳
    基数排序 稳定,空间复杂度为O(np)n为原始数据的个数,p为基底
  • 相关阅读:
    Centos常用快捷键
    ngnix笔记
    转载申明
    Linux 最小安装常用包
    update-alternatives关键解疑
    使用Java语言开发机器学习框架和参数服务器
    storm实践
    JVM线程状态,park, wait, sleep, interrupt, yeild 对比
    PHP版本解密openrtb中的价格
    Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/wangxinblog/p/7341644.html
Copyright © 2020-2023  润新知