数据结构之算法

算法的基本概念

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

算法的基本要素

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

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

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

算法的控制结构

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

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

算法复杂度

算法的时间复杂度

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

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

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

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

算法的空间复杂度

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

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

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

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

相关推荐
c2385640 分钟前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
六点_dn2 小时前
Linux学习笔记-printf命令
linux·运维·算法
遥感知识服务2 小时前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
来一碗刘肉面3 小时前
顺序表与链表的比较
数据结构·算法·链表
alphaTao3 小时前
LeetCode 每日一题 2026/7/13-2026/7/19
算法·leetcode
nnerddboy3 小时前
脑电信号处理实战 03 | 运动想象脑机接口入门:ERD/ERS、CSP 空间滤波与左右拳想象解码
算法·信号处理
QN1幻化引擎4 小时前
Dalin L — 我造了一门支持中文编程的语言,完整移植到 Rust 了
人工智能·算法·机器学习
Rainy Blue8834 小时前
C转C++速成
c语言·c++·算法
txzrxz4 小时前
二分图详解
数据结构·c++·算法·图论·深度优先搜索·二分图染色
gaosushexiangji5 小时前
数字图像相关DIC系统在结构振动模态测量中的应用
算法