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

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()从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

相关推荐
Two_brushes.1 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
森焱森3 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack5 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
写个博客5 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠5 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988946 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
杰克尼6 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
.30-06Springfield7 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦7 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
xiaolang_8616_wjl7 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20