数据结构第一讲

数据结构定义

算法的定义

什么是好算法?

空间复杂度

时间复杂度

例子1

打印1到N之间的正整数
有递归和循环两种方法实现。
但是在数字变大后,递归的方法会导致内存占用过多而崩溃。
而循环则不会

例子2 写程序给定多项式在X处的值

从里往外算的算法,不断提出一个X,然后从里往外算。

ElementType Max( ElementType S[], int N )
{
    int i = 0;
    float max = S[0];
    for (i = 1; i < N; i++)
    {
        if (max < S[i])
        {
            max = S[i];
        }
    }
    return max;
}

从里往外算的思路

从外往里算,复杂度高o(n的平方)。

例子3 给定N个整数的序列,求连续的最大子序列的值

1.三层for循环暴力

int MaxSubsequSum(int A[], int N)
{
	int i = 0;
	int j = 0;
	int k = 0;
	int ThisSum = 0;
	int MaxSum = 0;
	for (i = 0; i < N; i++)
	{
		for (j = i; j < N; j++)
		{
			ThisSum = 0;
			for (k = j; k < j; k++)
			{
				ThisSum += A[i];
				if (ThisSum > MaxSum)
				{
					MaxSum = ThisSum;
				}
			}
		}
	}
}

2.两层for循环暴力

int MaxSubseqSum(int A[], int N)
{
	int i = 0;
	int j = 0;
	int k = 0;
	int ThisSum = 0;
	int MaxSum = 0;
	for (i = 0; i < N; i++)
	{
		ThisSum = 0;

		for (j = i; j < N; j++)
		{
			ThisSum += A[i];
			if (ThisSum > MaxSum)
			{
				MaxSum = ThisSum;
			}

		}
	}
}

3.分而治之,递归解决

4.在线处理

每输入一个数据都能即时处理, 在任何一个地方中止输入,都能正确给出当前的解。

int MaxSubseqSum(int A[], int N)
{
	int i = 0;
	int MaxSum = 0;
	int ThisSum = 0;
	for (i = 0; i < N; i++)
	{
		ThisSum += A[i];
		if (ThisSum > MaxSum)
		{
			MaxSum = ThisSum;
		}
		else if (ThisSum < 0)
		{
			ThisSum = 0;
		}
	}
	return MaxSum;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode226. 翻转二叉树(HOT100)+Leetcode221. 最大正方形(HOT100)

链接 题解&#xff1a; 本题是要镜像反转二叉树&#xff0c;相当于从中间一分&#xff0c;然后把左子树和右子树对调&#xff0c;但又不是简单的对调&#xff0c;还要继续反转子树的子树&#xff0c;所以要用递归。 我们特判root是否为空&#xff08;否则出现nullptr->nul…

Jenkins + gitee 自动触发项目拉取部署(Webhook配置)

目录 前言 Generic Webhook Trigger 插件 下载插件 ​编辑 配置WebHook 生成tocken 总结 前言 前文简单介绍了Jenkins环境搭建&#xff0c;本文主要来介绍一下如何使用 WebHook 触发自动拉取构建项目&#xff1b; Generic Webhook Trigger 插件 实现代码推送后&#xff0c;触…

Dubbo源码解析-服务调用(七)

一、服务调用流程 服务在订阅过程中&#xff0c;把notify 过来的urls 都转成了invoker&#xff0c;不知道大家是否还记得前面的rpc 过程&#xff0c;protocol也是在服务端和消费端各连接子一个invoker&#xff0c;如下图&#xff1a; 这张图主要展示rpc 主流程&#xff0c;消费…

Spring 框架的介绍(Java EE 学习笔记02)

Spring致力于解决Java EE应用中的各种问题&#xff0c;对于一个Java开发者来说&#xff0c;Spring框架的熟练使用是必备的技能之一。Spring具有良好的设计和分层结构&#xff0c;它克服了传统重量型框架臃肿、低效的劣势&#xff0c;大大简化了项目开发中的技术复杂性。 ​ 什…

基于YOLOv8深度学习的智慧考场考试防作弊行为检测系统设计与实现(PyQt5界面+数据集+训练代码)

随着教育领域的数字化和智能化发展&#xff0c;考试中的作弊行为已成为影响考试公平性和效率的重要问题。为了解决这一问题&#xff0c;本研究设计并实现了一种基于YOLOv8深度学习模型的智慧考场考试防作弊行为检测系统。系统采用YOLOv8算法对考场中的视频图像数据进行实时分析…

Android 天气APP(三十七)新版AS编译、更新镜像源、仓库源、修复部分BUG

上一篇&#xff1a;Android 天气APP&#xff08;三十六&#xff09;运行到本地AS、更新项目版本依赖、去掉ButterKnife 新版AS编译、更新镜像源、仓库源、修复部分BUG 前言正文一、更新镜像源① 腾讯源③ 阿里源 二、更新仓库源三、修复城市重名BUG四、地图加载问题五、源码 前…

掌握 Spring 事务管理:深入理解 @Transactional 注解

在业务方法上使用Transactional开启声明式事务时&#xff0c;很有可能由于使用方式有误&#xff0c;导致事务没有生效。 环境准备 表结构 CREATE TABLE admin (id bigint(20) unsigned NOT NULL AUTO_INCREMENT,username varchar(255) DEFAULT NULL,password varchar(255) …

Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册

介绍 Seata&#xff08;Simple Extensible Autonomous Transaction Architecture&#xff09;是一个开源的分布式事务解决方案&#xff0c;旨在为微服务架构中的分布式系统提供事务管理支持。Seata 通过提供全局事务管理&#xff0c;帮助开发者在分布式环境中保持数据一致性 …

【设计模式系列】责任链模式(十六)

一、什么是责任链模式 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式。其核心思想是将请求的发送者和接收者解耦&#xff0c;通过一个中介链来传递请求&#xff0c;使得多个对象都有可能接收请求&#xff0c;从而避免请求发送者和接…

实时数据研发 | Flink技术栈

下周要开始接触一些实时的内容了&#xff0c;想来是很幸运的&#xff0c;这是我在新人培训上提问过技术前辈的问题&#xff1a;“想学习实时相关技术&#xff0c;但是部门没有类似的需求&#xff0c;应该如何提升&#xff1f;”当时师姐说先用心去学&#xff0c;然后向主管证明…

python对tif数据重投影

一、不同投影坐标系的区别 地理坐标系&#xff08;Geographic Coordinate System, GCS&#xff09;和投影坐标系&#xff08;Projected Coordinate System, PCS&#xff09;是两种常见的坐标系统&#xff0c;它们在表示地理信息时有着不同的方式。以下是它们的主要区别&#x…

Django+Nginx+uwsgi网站使用Channels+redis+daphne实现简单的多人在线聊天及消息存储功能

网站部署在华为云服务器上&#xff0c;Debian系统&#xff0c;使用DjangoNginxuwsgi搭建。最终效果如下图所示。 一、响应逻辑顺序 1. 聊天页面请求 客户端请求/chat/&#xff08;输入聊天室房间号界面&#xff09;和/chat/room_name&#xff08;某个聊天室页面&#xff09;链…

多目标粒子群优化(Multi-Objective Particle Swarm Optimization, MOPSO)算法

概述 多目标粒子群优化&#xff08;MOPSO&#xff09; 是粒子群优化&#xff08;PSO&#xff09;的一种扩展&#xff0c;用于解决具有多个目标函数的优化问题。MOPSO的目标是找到一组非支配解&#xff08;Pareto最优解&#xff09;&#xff0c;这些解在不同目标之间达到平衡。…

oracle会话追踪

一 跟踪当前会话 1.1 查看当前会话的SID,SERIAL# #在当前会话里执行 示例&#xff1a; SQL> select distinct userenv(sid) from v$mystat; USERENV(SID) -------------- 1945 SQL> select distinct sid,serial# from v$session where sid1945; SID SERIAL# …

python 画图例子

目录 多组折线图点坐标的折线图 多组折线图 数据: 第1行为x轴标签第2/3/…行等为数据,其中第一列为标签&#xff0c;后面为y值 图片: 代码: import matplotlib.pyplot as plt# 原始数据字符串 # 第1行为x轴标签 # 第2/3/...行等为数据,其中第一列为标签&#xff0c;后面…

未来已来:少儿编程竞赛聚焦物联网,激发创新潜力

随着人工智能与物联网技术&#xff08;IoT&#xff09;的快速发展&#xff0c;少儿编程教育正在迎来新的变革浪潮。近年来&#xff0c;各类少儿编程竞赛纷纷增加了物联网相关主题&#xff0c;要求学生结合编程知识和硬件设备设计智能家居、智慧城市等创新项目。这一趋势不仅丰富…

Java-08 深入浅出 MyBatis - 多对多模型 SqlMapConfig 与 Mapper 详细讲解测试

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

字符串专题 算法小题

感觉很久不做题了, 本身自己虽然就没水平就是啦哈哈~ 那下面分享几道最近写的几道题, 都很简单, 是关于"字符串"的, 只不过会稍微用到一点代码能力就是了, 算是比较基础的题目. 目录 1.最长公共区域(⭐⭐⭐ 代码)1.1 题目描述1.2 题目思路方法1: 两两求公共区域方法2…

虚拟化的三种方式

1.前言 Virtualization(虚拟化)是让公开的虚拟资源等同于被虚拟化的底层物理资源。虚拟化在各个领域应用很广泛&#xff0c;不局限于计算机科学领域。无论是在硬件、软件还是在嵌入式子系统中&#xff0c;虚拟化总是使用或组合三种简单的技术来实现的&#xff1a;多路复用(Mul…

使用yolov5查看模式标注情况

import cv2 from ultralytics import YOLO# 加载模型 model YOLO(E:\\yolov\\yolov9\\runs\\detect\\train4\\weights\\best.pt) # 替换为您的模型路径# 读取视频文件 cap cv2.VideoCapture(5.mp4) # 替换为您的视频文件路径# 定义输出视频的编码器和创建VideoWriter对象 f…