数据结构——算法和算法分析

news2024/11/16 3:38:29

目录

算法和算法分析

算法

算法设计的要求

算法效率的度量

算法的存储空间需求


算法和算法分析

算法

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

一个算法具有下列5个重要的特性:

(1)有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,而且每一步都可以在有穷时间内完成。

(2)确定性:算法中的每一条指令必须有确切的含义,读者理解时不会产生二义性。

(3)可行性:一个算法是能行的。

(4)输入:一个算法有零个或多个输入,这些输入取自与某个特定的对象的集合。

(5)输出:一个算法有一个或多个输出,这些输出是同输入有着某些特定的关系的量。

算法设计的要求

(1)正确性。算法应该满足具体问题的需求。

(2)可读性。

(3)健壮性。当输入数据非法时,算法也能适当地做出反应或进行处理,而不会产生莫名其妙的输出结果。

(4)效率与低存储量需求。效率是指算法的执行时间;存储量需求指算法执行过程中所需要的最大存储空间。效率与低存储量需求这两者都与问题的规模有关。

算法效率的度量

算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。而度量一个程序的执行时间通常有两种方法。

(1)事后统计的方法。

(2)事前分析估算的方法。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作:

T(n)=O(f(n))

它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度

显然,被称做问题的基本操作的原操作应是其重复执行次数和算法的执行时间成正比的原操作,多数情况情况下它是最深层循环内的语句中的原操作,它的执行次数和包含它的语句的频度相同。语句的频度指的是该语句重复执行的次数。

算法的存储空间需求

类似于算法的空间复杂度,本书中以空间复杂度作为算法所需存储空间的度量,记作:

S(n)=O(f(n))

其中n为问题的规模(或大小)。

文章为本人学习笔记,知识点整理参考严蔚敏《数据结构》(C语言版)。如有错误,欢迎大家指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2068154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻松实现微服务间的无缝通信:OpenFeign入门指南

OpenFeign 前言1、导入依赖2、开启feign调用3、编写OpenFeign客户端4、Fegin接口实现5、Feign接口调用 前言 Spring Cloud OpenFeign是一种基于Spring Cloud的声明式REST客户端,它简化了与HTTP服务交互的过程。它将REST客户端的定义转化为Java接口,并且…

餐厅点餐系统

TOC springboot0742餐厅点餐系统 系统概述 进过系统的分析后,就开始记性系统的设计,系统设计包含总体设计和详细设计。总体设计只是一个大体的设计,经过了总体设计,我们能够划分出系统的一些东西,例如文件、文档、数…

知乎信息流广告推广开户需要什么资质?

知乎作为中国领先的问答社区,凭借其高质量的内容和庞大的用户群体,成为了众多品牌青睐的营销阵地,云衔科技助力企业高效实现知乎广告开户及代运营服务。 一、知乎信息流广告推广开户资质要求 为了在知乎平台上投放信息流广告,企…

供应链系统源码的关键技术是什么?

供应链管理是企业运营中的重要环节,而高效的供应链系统能够大幅提升企业的竞争力。在数字化转型的过程中,越来越多的企业选择使用开源供应链系统源码来定制开发适合自身需求的解决方案。那么,供应链系统源码的关键技术有哪些?本文…

如何分析C语言中的声明

声明是C语言中一个非常基础但重要的部分,无论是阅读他人的代码,还是排查编译报错,正确理解声明都会对我们有莫大的帮助。 有的人可能会说声明不是很简单吗? 小A说,看,我声明了一个整型变量: i…

htsjdk SamReader接口介绍

SamReader 是 htsjdk 库中的一个接口,用于读取和解析 SAM(Sequence Alignment/Map)和 BAM(Binary Alignment/Map)格式的文件。htsjdk 是一个广泛使用的 Java 库,提供了处理高通量测序数据的工具,SamReader 是其中的一个核心接口。 SamReader 接口介绍 SamReader 主要用…

也开发一点自己的agent框架

换了一份工作,抽空写一篇文章。 前面说自己看了ja-netfilter,这个作者肯定是个厉害的人,但是在项目工程化方面,做出来的东西未必好用是真的,不是diss别人,而是他的插件接口还是指令集的。说实话&#xff0c…

TCP BBR 数学模型完整版

今天顺带加入了 bbr 的所有状态和所有流程,获得以下的方程组: C Bltbw,R RtProp,T_r ProbeRTT 周期,g1 Startup gain,g2 ProbeBW gain。设 x estimated bandwidth,r round trip time&am…

【STM32】C语言基础补充

学习过程中发现自己好些需要用到的C语言语法、特征都不太熟练了,特意记录一下,免得忘记了,以后遇到了新的也会继续更新 目录 1 全局变量 2 结构体 3 静态变量 4 memset()函数 5 使用8位的存储器存16位的数 1 全局变量…

vue3 Props的用法(父传子)

在 Vue 3 中,Props(属性)用于在组件之间传递数据。 Props的作用 传参:Props 允许父组件向子组件传递数据。类型检查:Vue 允许在定义 Props 时指定数据的类型,这有助于在开发过程中进行类型检查&#xff0…

Nextjs(App Router) 开发记录

最近业余在开发一款智能助理产品,记录开发过程中的一些问题以备忘,也是帮其他人防坑。 主要技术栈 本项目采用了前沿的技术栈来构建一个高性能且可维护的应用。选择了 Nx 作为构建管理和单一代码库解决方案,通过模块化和插件系统来扩展和优…

开源的个人独立博客Moments社交优化项目源码

开源的个人独立博客Moments社交优化项目源码,为你提供了一个与关注的博客作者和读者互动的全新方式,让你的博客体验更加丰富和充实。 Moments的核心目标是通过整合各种订阅源,如RSS和Atom,将你感兴趣的博客转化为一个个人朋友圈。…

日志排查——linux

目录 介绍步骤 介绍 /var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,即last。 /var/log/cron:记录与定时任务相关的日志信息。 /var/log/messages:记录系统启动后的信息和错误日志。 /var/log/apache2/access.log&a…

你不知道的console方法

JavaScript为我们提供了一个内置的调试工具,即控制台(console),使开发人员能够测试、调试和与他们的网页进行交互。JavaScript的控制台对象中有几种可用的方法,每种方法都有不同的用途。本文将讨论这些方法,并提供它们的使用示例。…

计算机毕业设计 学院网站 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Linux中解决 zfs 安装后无法加载和使用,报错类似如下:modprobe: FATAL: Module zfs not found.

Linux中解决 zfs 安装后无法加载和使用,报错类似如下:modprobe: FATAL: Module zfs not found. # modprobe zfs modprobe: FATAL: Module zfs not found.解决办法: yum remove zfs spl kmod-zfs -yyum update -y --skip-brokenos_v$(cat /et…

文献翻译什么软件好?文献翻译全文软件推荐这5个

处暑已过,秋风渐起,知识的田野也迎来了收获的季节。在学术研究的旅途中,我们常常需要跨越语言的界限,探寻远方的智慧。 每当面对厚重的外文文献,应该如何快速准确地转化为可读的中文呢?其实只要选择一款高…

加速指南:如何使用Kimi提升论文写作效率?

在学术研究领域,撰写论文是一项基础且关键的任务,它要求作者不仅要有扎实的专业知识,还要具备高效的信息处理能力和清晰的表达技巧。学术写作是一个复杂的过程,涉及多个阶段:从选题、资料搜集、论文结构设计&#xff0…

STM32(五):定时器——输出比较

定时器输出比较功能:输出PWM波形 OC(Output Compare)输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。 每个高级定时器和通用定时器…

【硬件模块】红外跟随避障模块

红外跟随避障模块实物图 红外避障模块不断发射红外信号,当红外信号: 有反射回来,OUT 输出低电平,输出指示灯(绿灯)亮; 没反射回来,OUT 输出高电平,输出指示灯&#xff08…