数据结构入门系列之——基本概念

概念辨别

数据: 信息的载体,能够被计算机识别、存储和加工处理,数据包括文字、表格、图像等。
信息: 数据的内涵,即数据所表达的意义。
数据元素:数据的基本单位(有时称为结点、记录等),通常把数据元素作为一个整体进行处理。例如,一个班的学生数据包括张三、李四等数据元素。有时一个数据元素可以由若干个数据项(也可称为字段、域、属性)组成。 
数据项:具有独立意义的不可分割的最小标识单位。

计算机识别、存储和加工处理的对象称为数据

typedef struct 
{	int ID;
	int x;
	int y;      ————————————>数据项
}Point;         ————————————>数据元素
vector<Point> Points    ————>数据

数据结构

数据结构:相互之间存在一种或多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系,这种关系构成了某种结构。

数据结构可以看成是带结构的数据元素的集合。

逻辑结构:数据元素之间的逻辑关系的整体。它是数据结构在用户面前呈现的形式。(相邻关系)
存储结构 :数据元素及其关系在计算机存储器中的存储方式,也称为数据的物理结构
运算:施加在该数据上的操作。

1.在C++中,语句 int a[10];然后用户可以用
a[0]…a[9]来访问数据中的每一个元素,这样的访问时数据数据结构的逻辑结构
2.C语言中,定义了数组 int a[10],*p;
p=a; 语句p=p+1代表p指针指向了数据的第二个元素的地址,对于p指针是使用的数组的物理结构来访问数据

逻辑结构

逻辑结构可以分为:集合(松散);线性结构;树形结构;图形结构。
可以用二元组表示逻辑结构:
在这里插入图片描述
D是数据元素的有限集合,即D是由有限个数据元素(简称为元素)所构成的集合。
R是D上的关系的有限集合,即R是由有限个关系 r j r_j rj(1≤j≤m)所构成的集合。
r j r_j rj是指从D→D的关系。

物理(存储)结构

存储结构分为:链式存储结构、顺序存储结构、索引存储结构、散列存储。其中顺序存储具有随机存取特性。索引存储结构增加索引表,查找速度快。

一种抽象数据类型包括:数据的取值范围、数据操作

算法

算法目标:

正确性、可使用性、可读性、健壮性、高效率与低存储量需求。

算法特性:

有限性、确定性、可行性、输入性、输出性

算法分析

分为时间复杂度和 空间复杂度
时间复杂度 :O(n)
空间复杂度:O(n)
对算法进行存储空间分析时,只考察临时变量所占空间。换句话说,函数形参不参与空间复杂度的计算。

O ( 1 ) < O ( l o g 2 n ) < O ( n ) < O ( n l o g 2 n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n ) < O ( n ! ) O(1)<O(log_2n)<O(n)<O(nlog_2n)<O(n^2)<O(n^3)<O(2^n)<O(n!) O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)

C/C++内存分配

int *pCC++
变量分配内存p=(int*)malloc(sizeof(int)p=new int;
数组分配内存p=(int*)malloc(sizeof((int)*n )p=new int[n];
释放内存free ( p);p=NULL;delete p;/delete []p;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值