【数据结构】算法的时间复杂度与空间复杂度

news2024/9/24 16:26:02

计算机考研408-数据结构笔记本之——第一章 绪论

1.2 算法和算法评价

1.2.2 算法效率的度量

算法效率的度量是通过时间复杂度和空间复杂度来描述的。

1.空间复杂度

算法的空间复杂度S(n)定义为该算法所需的存储空间,它是问题规模n的函数,记为

S(n) = O(g(n))

2.计算方法

与时间复杂度的计算方法类似,但在概念上有所不同。

(1)举例计算1 (常量计为1

假设一个int型变量占用4B内存。

①int n —— 4B                       ②int i = 1 —— 4B

S(n) = 4 + 4 = 8 = 常量 = O(1)        (常量计为1

算法原地工作:如上图代码所示,计算出来的空间复杂度是一个常量,即O(1),这就叫算法原地工作。

(2)举例计算2(只保留最高项且最高项系数视为1

假设一个int型变量占用4B内存。

①int n —— 4B                       ②int flag[n] —— 4nB                ③int i —— 4B

S(n) = 4 + 4n + 4 = 4n + 8 = O(n)   (只保留最高项且最高项系数视为1

(3)举例计算3(加法规则和乘法规则

(4)举例计算4(递归程序

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

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

相关文章

CCF编程能力等级认证GESP—C++7级—20240629

CCF编程能力等级认证GESP—C7级—20240629 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)黑白翻转区间乘积 单选题(每题 2 分,共 …

【鸿蒙开发基础学习】UIAbility 组件生命周期

UIAbility 组件生命周期 概述 当用户打开、切换和返回到对应应用时,应用中的 UIAbility 实例会在其生命周期的不同状态之间转换。UIAbility 类提供了一系列回调,通过这些回调可以知道当前 UIAbility 实例的某个状态发生改变,会经过 UIAbili…

DeDeCMS

DeDeCMS 环境部署 同意协议 环境检测 参数配置 漏洞复现 姿势⼀:通过⽂件管理器上传WebShell #前台 http://192.168.4.139/dedecms/index.php?upcache1 #后台 http://192.168.4.139/dedecms/dede/ #信息 username:admin password:admin 上传文件 成功上传 …

如何在Chrome、Edge、360、Firefox等浏览器查看网站SSL证书信息?

在如今的网络环境中,保障网络安全、数据安全尤其重要,市面上大部分网站都部署了SSL证书以实现HTTPS加密保护数据传输安全以及验证网站身份,确保网站安全可信。那么如何查看网站的SSL证书信息?接下来,我们将详细介绍如何…

Java零基础之多线程篇:讲解死锁和资源管理

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

Qt 跨平台支持任务栏进度条以及自绘消息通知显示

一.效果图 win效果图 mac效果图 二.测试demo地址: testwindowbar: 跨平台的任务栏进度条

语言模型-预训练模型(三)

预训练-BERT 传统方法与预训练方法的比较预训练方式 --BERT训练任务模型结构BERT结构-EmbeddingBERT结构-EncoderBERT结构-self-attention 传统方法与预训练方法的比较 思想解读: 预训练的概念就和我们人读书和工作一样;先是通过基础教育到大学毕业&…

Gradio之文字输入输出

Gradio 是一个简单直观的交互界面的SDK组件。 在python 环境中安装使用pip install gradio 然后运行以下代码,就能在浏览器中展示 # 输入name字符串,输出Hello {name}!字符串 def greet(name):return "Hello " name "!"demo gr.I…

Python统计单词列表

文章目录 需求分析demo 需求 给定一组字符串words和每行能显示的最大字符数max_length,计算需要多少行才能完整显示所有的单词。 分析 思路很简单,从给定的字符串中按空格分割单词列表,计算一行能显示的单词数,将其添加到list中…

全国产飞腾D2000/8 ITX主板+银河麒麟Kylin/UOS 操作系统,应用于工业一体机, 工业平板、加固IPAD

ITX-F601一体机主板产品规格书 产品概述 ITX-F601是一款高性能一体机主板,基于国产飞腾处理器D2000/8 核处理器设计研发,低海岸线IO 设计,可用于工业一体机、工业平板等,合理摆放CPU,MINI-PCIE,M.2 槽位&…

UKP3D9.3版本导出报表文件

UKP3D9.3(8.4)号安装包,支持输出节点属性的文本报表。这个功能的实用性很强,适用于批量修改数据。 命令:TXTREPORT

百元护眼台灯有什么推荐?松下、飞利浦、书客看哪个更胜一筹

当前,近视问题在人群中的蔓延趋势愈发显著,几乎成为一种普遍现象。据最新出炉的2024年度统计数据显示,我国儿童及青少年群体的近视率已飙升至触目惊心的52.7%,这一数字不仅凸显了近视问题的严峻态势,更在社会上激起了广…

Java常见面试题-06-web

文章目录 TCP 与 UDP 区别?什么是 HTTP 协议?TCP 的三次握手HTTP 中重定向和请求转发的区别?Get 和 Post 的区别?cookie 和 session 的区别?介绍一下Ajax以及其优势axios 是什么?怎样使用它?怎么…

ICMP(Ping)功能原理及其C++实现简介

ICMP(Ping)功能原理及其应用简介 一、 Ping功能简介 1、 原始套接字(Raw Socket) 原始套接字(‌Raw Socket)‌是一种特殊的网络编程接口,‌它允许直接接收和发送网络层的数据包,‌而不是通过传输层。‌这种套接字可以接收本机网…

推荐 3个实用且完全免费的在线工具,每天都会用到,无需登录打开即用

100font 100font是一个专业的免费商用字体下载网站,专注于收集、整理和分享各种免费无版权的商用字体。用户可以在这个平台上找到并下载简体中文、繁体中文、英文、日文、韩文等多种语言类型的字体。 该网站的特点包括清晰的分类和直观的下载流程,用户可…

金字塔原理帮助你理清思路,提升职场表达力

金字塔原理帮助你理清思路 1分钟理清思路,提升职场表达力 金字塔原理概述 原则 解释 模型 结论先行 中心思想和结论只有一个,放在最前面 SCQA模型 以上统下 任一层的思想必须是下一层次思想的概括 演绎推理 归纳推理 归类分组 每组中的思想必…

【Linux网络】其他协议和技术:DNS、ICMP、NAT

本篇博客补充了 TCP/IP 分层模型中,应用层的 DNS 协议、网络层的 ICMP 协议、网络层的 NAT 技术,旨在让读者更加深入理解网络协议栈的设计和网络编程。 目录 一、DNS 协议 1)技术背景 2)域名与域名解析 二、ICMP 协议 1&…

Webstorm的下载与安装

Webstorm的下载 1 在浏览器的地址栏输入https://www.jetbrains.com/webstorm/,进入主页面 2 点击右上角的Download按钮,进入下载页面,如图所示 Webstorm的安装 按步骤逐步安装即可

tomcat文件上传漏洞练习

1、靶场账号注册 vulfocus 注册后邮箱中点击激活 2、首页选择并开启靶场 复制映射的ip和端口 在浏览器输入ip和端口 改成put并把1.jsp中内容复制进去 3打开哥斯拉,连接上面的网址

TCP协议程序设计

文章目录 前言一、TCP协议程序是什么?二、使用步骤 1.服务器端与客户端2.实操展示总结 前言 TCP网络程序设计是指利用Socket类编写通信程序。利用TCP协议进行通讯的两个应用程序是有主次之分的,一个称为服务器程序,另一个称为客户机程序&…