数据结构-逻辑结构,物理结构与算法

数据结构
数据:计算机中可以操作的对象,能被计算机识别,并输入给
计算机处理的符号集合。
数据元素:组成数据的,有一定意义的基本单位。(例如牛,马,狗,猪就是
禽类的数据元素)。
数据项:一个数据元素可以由若干个数据项组成。(例如人这个数据元素,有
眼,耳,鼻,嘴,姓名,性别等数据项)。数据项是数据不可分割的最小单位。
数据对象:性质相同的数据元素的集合,是数据的子集。(性质相同就是数据
元素具有相同数量和类型的数据项)。
数据结构:相互之间存在一种或多种特定的数据元素的集合。(数据元素并不
是孤立、杂乱无序的,而是具有内在联系的数据集合)。

**逻辑结构**
**1、集合结构** 
	集合结构中的数据除了同属于一个集合外,它们之间没有其他关系。
各个数据元素是平等的,它们的共同属性就是同属于一个集合。
**2、线性结构**
	线性结构中的数据元素之间是一对一的关系。
**3、树形结构**
	树形结构中的数据元素之间存在一种一对多的层次关系。
**4、图形结构**
	图形结构的数据元素是多对多的关系。

**物理结构**
	物理结构是指逻辑结构在计算机中的存储形式。
**1、顺序存储结构**
	把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和
物理关系是一致的。在空间中是连续的。
**2、链式存储结构**
	把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,
也可以是不连续的。在空间中是无序随机的,通过指针来存放数据元素的地址,
从而关联相关联数据元素的位置。
	
	顺序存储结构的查询和修改更快。
	链式存储结构的增加和删除更快。

算法
解决特定问题的求解步骤的描述。
以下为两种不同的方法,解决同一个问题

  • int sum=0;
    int N=100;
    for(int i =1;i<=100;i++){
    sum=sum+i;
    }
  • int N=100;
    int sum=(N+10/2;
下边的代码相比上边的代码,运行次数大大减小。效率更高。

**算法时间复杂度**
	算法大的时间复杂度,也就是算法的时间量度,T(n)=O(f(n))。
随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法
的时间复杂度。
**1、常数阶 (O(1))**
	执行次数是恒定的,不会随着n的增大而发生变化。
**2、线性阶(O(n))**
	随着n的增大而增大,正比例的。
**3、对数阶(longn)**
	随着n的增大,增加幅度逐渐减小
**4、平方阶(O(n^2))**
	一般嵌套循环的复杂度
**5、nlongn阶**
	
**6、指数阶(O(2^n))**

**时间复杂度所耗费的时间从小到大**	
O(1)<O(longn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值