当前位置: 首页 > article >正文

数据结构第一讲

数据结构定义

算法的定义

什么是好算法?

空间复杂度

时间复杂度

例子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;
}

http://www.kler.cn/a/407658.html

相关文章:

  • 分公司如何纳税
  • SpringBoot 集成 html2Pdf
  • app小程序web安全—sign签名绕过
  • 使用 Python 实现目标检测
  • 数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)
  • 【AI最前线】DP双像素sensor相关的AI算法全集:深度估计、图像去模糊去雨去雾恢复、图像重建、自动对焦
  • windows C#-取消任务列表(上)
  • 解决前端页面报错:Not allowed to load local resource
  • Linux高阶——1123—
  • 恋爱通信史之身份验证和不可抵赖性
  • MySQL--库的操作
  • SpringCloud处理Websocket消息过长自动断开连接
  • Quivr - 用 AI 构建你的第二大脑
  • 网络安全服务人才发展路线图
  • Spring Boot OA:企业数字化转型的利器
  • Python小白学习教程从入门到入坑------习题课5(基础巩固)
  • MS16-075(烂土豆)
  • Selenium+Java(19):使用IDEA的Selenium插件辅助超快速编写Pages
  • Windows11笔记本装windows10
  • PCA9685的配置学习
  • 计算机网络期末试题及答案(整理)
  • 聚焦AI存储,联想凌拓全力奔赴
  • Mysql的事务隔离机制及其脏读、不可重复读、幻读
  • Jvm知识点
  • 09 —— Webpack搭建开发环境
  • web-03