高级算法设计与分析(一) -- 算法引论

系列文章目录

高级算法设计与分析(一) -- 算法引论

高级算法设计与分析(二) -- 递归与分治策略

高级算法设计与分析(三) -- 动态规划

高级算法设计与分析(四) -- 贪心算法

高级算法设计与分析(五) -- 回溯法

高级算法设计与分析(六) -- 分支限界法

高级算法设计与分析(七) -- 概率算法和NP完全性理论

高级算法设计与分析(八) -- 总结


目录

系列文章目录

前言

一、算法与程序

1、算法

2、程序

3、思算法的基本特征

二、表达算法的抽象机制

1、数据

2、运算

3、算法用程序描述的基本方法

三、算法的复杂性分析

1、时间复杂度与空间复杂度(对资源的消耗)

2、复杂度的计算

3、复杂性渐进态(次数最高的那一项)

习题


前言

tips:这里只是总结,不是教程哈。鉴于本人写字如画符,就不出视频教程了,如实在有需要,请在文章下方留言。当然,文章有任何问题,也请留言,谢谢!

这个系列用另一种形式,把习题放在最下面,看看好用不。

本系列文章最后一文会进行简要全部总结,以及思维导图放在最后一篇文章最下面,请自行获取。


一、算法与程序

1、算法

指解决问题的方法或过程。

2、程序

算法用某种程序设计语言的具体实现。

3、思算法的基本特征

3.1、输入(0~N个)

0个输入的算法不具有通用性,但有用,如计算Π

3.2、输出(1~N个)

不可能没有输出(结果)

3.3、确定性

指令清晰、无歧义,但并不表示每次运行算法都会获得同样结果,如并行算法

3.4、有限性

每条指令执行次数、执行每条指令时间均有限,因此算法所需总时间也有限

二、表达算法的抽象机制

1、数据

基本数据:布尔值、字符、整数、浮点数等。矩阵、集合等较复杂数据均由基本数据构成。

2、运算

逻辑运算、关系运算、矩阵运算等
a=1; b=2; a>b
Matlab(Matrix laboratory)就是以矩阵运算为基础

3、算法用程序描述的基本方法

自顶向下,逐步求精

三、算法的复杂性分析

1、时间复杂度与空间复杂度
(对资源的消耗)

记法:T = T(N, I, A)或T(A) = T(N, I)或T=T(N, I)

含义:算法A的时间复杂度由问题规模(N)和输入(I)确定

2、复杂度的计算

高级算法设计与分析(一) -- 算法引论_第1张图片

高级算法设计与分析(一) -- 算法引论_第2张图片

3、复杂性渐进态
(次数最高的那一项)

高级算法设计与分析(一) -- 算法引论_第3张图片

3.1、O(order)的定义

高级算法设计与分析(一) -- 算法引论_第4张图片

高级算法设计与分析(一) -- 算法引论_第5张图片

3.1.1、O的运算规则

高级算法设计与分析(一) -- 算法引论_第6张图片

高级算法设计与分析(一) -- 算法引论_第7张图片

3.3.2、O的实质

高级算法设计与分析(一) -- 算法引论_第8张图片

3.3.3、O的理解

高级算法设计与分析(一) -- 算法引论_第9张图片

3.2、Ω和θ

O:不高于
Ω:不低于
θ:等于(阶数相等)

高级算法设计与分析(一) -- 算法引论_第10张图片

O:不高于                   o:小于
Ω:不低于                   ω:大于
θ:等于(阶数相等)

高级算法设计与分析(一) -- 算法引论_第11张图片


习题

topic(1):

高级算法设计与分析(一) -- 算法引论_第12张图片

高级算法设计与分析(一) -- 算法引论_第13张图片

高级算法设计与分析(一) -- 算法引论_第14张图片

!!! 20n>n^(2/3)

高级算法设计与分析(一) -- 算法引论_第15张图片

topic(2):

高级算法设计与分析(一) -- 算法引论_第16张图片

高级算法设计与分析(一) -- 算法引论_第17张图片

高级算法设计与分析(一) -- 算法引论_第18张图片

topic(3):

高级算法设计与分析(一) -- 算法引论_第19张图片

高级算法设计与分析(一) -- 算法引论_第20张图片

高级算法设计与分析(一) -- 算法引论_第21张图片

高级算法设计与分析(一) -- 算法引论_第22张图片

topic(4):

高级算法设计与分析(一) -- 算法引论_第23张图片

高级算法设计与分析(一) -- 算法引论_第24张图片

你可能感兴趣的:(高级算法设计与分析,算法)