当前位置: 首页 > news >正文

知识储备--基础算法篇-排序算法

1.知识--时间复杂度和空间复杂度

1.2时间复杂度

一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。

1.3空间复杂度

空间复杂度不是程序占用了多少bytes的空间,空间复杂度算的是变量的个数。

1.3大O渐进表示法

  • 大O符号(Big O notation):是用于描述函数渐进行为的数学符号。推导大O阶方法:
  • 1、用常数1取代运行时间中的所有加法常数。
  • 2、在修改后的运行次数函数中,只保留最高阶项。
  • 3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。

2.排序算法

推荐一个博客十大经典排序算法(动图演示) - 一像素 - 博客园 (cnblogs.com)

其中遇到的递归相关的知识可以看这篇博客如何快速理解递归——看这个就可以了_递归函数的递归体_来老铁干了这碗代码的博客-CSDN博客

递归主要是找到他的边界条件,然后看递归体,了解每个递归是在做什么事情。 

排序中经常遇到两个函数,一个是push(),一个是shift()。

push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度,修改并替换了原始数组而非生成一个修改版的新数组。

shift()从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

http://www.lryc.cn/news/137644.html

相关文章:

  • Qt+C++动力监控动画仿真SCADA上位机
  • Flask 单元测试
  • 前端面试:【前端工程化】CommonJS 与 ES6 模块
  • keepalived双机热备,keepalived+lvs(DR)
  • unity-ShaderGraph全节点
  • C++入门:内联函数,auto,范围for循环,nullptr
  • 五、多表查询-1.多表关系介绍
  • Linux:编写编译脚本Makefile文件
  • 深入浅出Pytorch函数——torch.nn.init.calculate_gain
  • 【PHP】PHP入门指南:从基础到进阶
  • 【100天精通python】Day45:python网络爬虫开发_ Scrapy 爬虫框架
  • 怎么写出更好的高质量内容输出
  • HJ31 单词倒排 题解
  • LeetCode42.接雨水
  • 优化时间流:区间调度问题的探索与解决
  • 【Python】强化学习:原理与Python实战
  • 设计模式——合成复用原则
  • 基于OpenCV实战(基础知识一)
  • 如何高效的接入第三方接口
  • docker pip下载依赖超时或失败问题解决
  • python并发编程
  • 【面试题】:前端怎么实现权限设计及遇到的bug
  • Vue 2 插槽
  • Spring 容器启动耗时统计
  • 1. 优化算法学习
  • 再获荣誉丨通付盾WAAP解决方案获“金鼎奖”优秀金融科技解决方案
  • 【腾讯云 TDSQL-C Serverless 产品测评】“橡皮筋“一样的数据库『MySQL高压篇』
  • python http文件上传
  • Android学习之路(9) Intent
  • vue项目配置git提交规范