栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

一、绪论(数据结构)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一、绪论(数据结构)

数据结构基本概念
  • 数据结构是相互之间存在一种或多种特定关系的数据元素的结合
  • 数据对象是具有相同性质的数据元素的集合,是数据的子集
  • 一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的物理结构
数据结构的三要素

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

算法的特性

  • 有穷性 :有穷时间内可以完成
  • 确定性 :相同输入产生相同输出
  • 可行性 :算法中的操作可以用已有的基本操作实现
  • 输入:丢给算法处理的数据
  • 输出:算法处理的结果

好的算法

  • 正确性 :能正确解决问题
  • 可读性 :对算法的描述要让其他人也看得懂
  • 健壮性 :能处理一些异常
  • 效率与低存储量需求
算法效率的度量
  • 算法效率的度量是通过时间复杂度和空间复杂度来描述的
时间复杂度
  • 事前预估算法时间开销T(n)与问题规模n的关系

//例1 T(n)=3n+3=O(n)

void loveYou(int n){
	int i=1;
	while(i<=n){
			i++;
			printf("I love you more than %d n",n);
	}
	printf ("I love you More Than %d n",n);
}
int main(){
	loveYou(3000);
}

//例2 T(n)=O(n2)

void loveYou(int n){
	int i=1;
	while(i<=n){
			i++;
			printf("I love you more than %d n",n); 
			for (int j=1;j<=n;j++){
			printf("I am Iornmann");
			}
	}
	printf ("I love you More Than %d n",n);
}


多项相加,只保留最高阶的项,且系数 变为1
多项相乘,都保留

空间复杂度

无论问题规模怎么变,算法运行所需的内存空间都是固定的常量(算法原地工作),算法空间复杂度为S(n)=O(1)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/982677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号