【算法】算法设计与分析 课程笔记 第一章&第二章

第一章 算法概述

算法的性质

算法的四个性质:输入、输出、确定性和有穷性。

算法的时间复杂度

1. 常见的时间复杂度

  1. 常数阶 O(1)

  2. 对数阶 O(log n)

  3. 线性阶 O(n)

  4. 线性对数阶 O(nlog n)

  5. 平方阶 O(n^2)

  6. 立方阶 O(n^3)

  7. k 次方阶 O(n^k)

  8. 指数阶 O(2^n)

注:上面的 log n 均代表以2为底的对数。

2. 时间复杂度排序

常见的算法时间复杂度由小到大依次为:

Ο(1)<Ο(log n)<Ο(n)<Ο(nlog n)<Ο(n^2)<Ο(n^3)< Ο(n^k) < Ο(2^n)

随着问题规模n的不断增大,上面时间复杂度的值也不断增大,算法的执行效率越来越低。

第二章 递归与分治策略

相关推荐
Navigator_Z13 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
Peter-OK13 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
D e re k ZH13 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶14 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊14 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
成都蜀味缘餐饮技术培训学校15 小时前
手撕烤兔技术培训实战指南,秘制腌料配方比例与调制手法
大数据·经验分享·笔记·其他·微信公众平台
希和202716 小时前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
LabVIEW开发16 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
蒸蒸yyyyzwd17 小时前
秋招学习笔记 day109
笔记·八股