数据结构之算法

算法的基本概念

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法

算法的基本要素

一个算法是由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构

算法中对数据的运算和操作

在一般计算机系统中,基本运算和操作有以下4类:算术运算,逻辑运算,关系运算和数据传输

算法的控制结构

算法中各操作之间的执行顺序称为算法的控制结构

描述算法的工具通常有:N-S结构化流程图,算法描述语言等。一个算法一般都可以用顺序,选择,循环3种基本结构组合而成。

算法复杂度

算法的时间复杂度

算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均

不同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素, 可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函 数。即

算法的工作量= f ( n ) f(n) f(n)

算法的空间复杂度

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过

程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加 存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为 了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。

疑难解答:算法的工作量用什么来计算?

算法的工作量用算法所执行的基本运算次数来计算,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f (n),其中n是问题的规模。

相关推荐
谙弆悕博士24 分钟前
【附Python源码】基于决策树的信用卡欺诈检测实战
python·学习·算法·决策树·机器学习·数据分析·scikit-learn
MATLAB代码顾问28 分钟前
黏菌算法(SMA)原理详解与Python实现
开发语言·python·算法
张赫轩(不重名)30 分钟前
图论3:连通性问题(复杂度均为 O(N + M) )
c++·算法·图论·拓扑学
Liangwei Lin31 分钟前
LeetCode 238. 除了自身以外数组的乘积
算法
啦啦啦_999934 分钟前
2. ID3决策树 & C4.5决策树
算法·决策树·机器学习
技术小黑1 小时前
CNN算法实战系列02 | ResNet50V2算法实战与解析
pytorch·深度学习·算法·cnn
多加点辣也没关系1 小时前
数据结构与算法|第十五章:排序算法(下)— 非比较类排序
算法·排序算法
guo_xiao_xiao_1 小时前
YOLOv11城市道路自行车目标检测数据集-552张-bicycle-1_5
算法·yolo·目标检测
君义_noip1 小时前
CSP-J 2025 入门级 第一轮(初赛) 完善程序(1)
c++·算法·信息学奥赛·csp 第一轮