码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面试题:经典常见排序算法 插入 冒泡 选择 归并 快速排序


    1.插入排序 

    从头向尾不断扩大排序范围 (保持范围内顺序)      

    时间复杂度 O(n2)

    2.冒泡排序 

    从第i=1个数据和第i+1个数据 进行比较 大的向后移 直到移动到他的为止(以最大值为主要观察对象 最大值逐个排到正确位置)     

    时间复杂度 O(n2)

    3.选择排序   

    从全局缩小选择范围 ,遍历选择最小的数据排到前面,缩小查找排序空间   

    时间复杂度    O(n2)

     4.归并排序   

    先归后并  先将排序数组分到最小 然后相邻两组按从小到大顺序合并   直至排序结束 

    时间复杂度    O(nlogn)

     

    5.快速排序 

    思想:选定一个元素  将小于该值的元素全都放到该元素坐标大于该值的元素全都放到右边

    实现:双指针 L R,思想左右两指针 当发生数据交换时 由另一指针遍历 相交为止就是选择值的位置

     选择第一个值为中心轴,则先移动R指针,当R值小于中心轴时RL交换 ,此时R-1,L+1,开始移动 L ,L指针向右遍历 当发现大于选定值时与R交换 ,交换后L-1,R-1

    时间复杂度    O(nlogn)

     二分查找  对待插入数据进行二分法比大小 如果比数据中该中间值小则在左边范围内继续查找比大小

    时间复杂度 

  • 相关阅读:
    Pycharm环境搭建笔记
    安卓游戏开发框架应用场景以及优劣分析
    Ajax和jQuery详细笔记
    游戏编程模式 - 对象池模式
    如何挑选工业镜头?
    Jni GetMethodID中函数标识sig的详细解释
    [iOS]-数据持久化
    Sql server 最大并行度配置
    getattr,hasattr,setattr什么作用
    idea配置Idea类注释模板和方法注释模板(亲测有效)
  • 原文地址:https://blog.csdn.net/weixin_57672347/article/details/134280524
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号