码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 算法(一)


    "进步的每一步都步履维艰"

    http://www.mashibing.com

    排序算法:

    big O :算法的时间或者空间,随着问题规模的扩大,而变化的规律

    10 种常见的排序算法:选择,冒泡,插入,堆,希尔,归并,快速,桶,计数,基数

    希尔排序:

    希尔排序为什么比普通的插入排序效率高?因为:在间隔大的时候,移动的次数少,在间隔小的时候,移动的距离短了,从两个方面提高了效率。

    希尔排序最优的间隔序列:Knuth 序列  { h = 1; h = 3h +1 }

    希尔排序没有用到其他的空间,所以它的空间复杂度是 big O(1)

    归并排序: 

    在递归的时候一定有一个条件停止返回:base case

     空间复杂度是 big O(n),为什么不是n方?因为在递归的时候,函数每次调用完,temp数组的空见就会被销毁,所以最多也就是n

    TimSort,改进的归并排序

    快速排序:

     

     上述代码有两处bug

    双轴快排:

    java源码里面也是双轴快排

    思想:找两个轴,将数组分成三份,加上正在处理的区域,应该是四个区域

  • 相关阅读:
    【计算机组成 课程笔记】7.2 DRAM和SRAM
    第四章 测试用例编
    重磅!法大大上榜“专精特新”企业
    java计算机毕业设计红色主题旅游网站MyBatis+系统+LW文档+源码+调试部署
    概述:穿衣人物的动画重建CVPR2020
    Python学习笔记--通过慢慢演变一个需求,一步一步来了解 Python 装饰器
    关于AtomSeg程序移植问题(持续更新)
    python tk展示图片
    Python到底难学吗?到底可以用它来干嘛?
    RPC概览
  • 原文地址:https://blog.csdn.net/qq_52179917/article/details/126727008
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号