数据结构实践1.基础

数据结构基础

1. 基础概念:
  1)数据:能够输入计算机并被计算机处理的符号集;

  2)数据元素:数据的基本组成单位,在计算机中通常作为一个整体考虑;

  3)数据项:组成数据元素的、具有独立含义的、不可分割的、最小单位;

  4)数据对象:具有相同性质的数据元素的集合;

  5)数据结构:相互之间具有一种或多种特定关系的数据元素的集合。即数据结构是带有“结构”的数据元素的集合,“结构”即是数据元素之间的相互关系。通常包括:
  a. 数据元素之间的相互关系(逻辑结构);
  b. 数据元素及其相互关系在计算机中的表示(存储结构);
  c. 对带“结构”的数据元素能进行的操作与操作的实现;

  6)数据类型:具有相同性质的值的集合与值集上的一组操作集;

  7)抽象数据类型:指对数据类型的描述不依赖于其具体实现,可定义为一个三元组(D, S, P)的形式:
  D:数据对象;
  S:D上的关系集;
  P:对D的操作集;

2. 逻辑结构的四种基本关系:
  a. 集合结构:数据元素之间除了同属一个集合外别无其他关系;
  b. 线性结构:数据元素之间存在一对一的关系(线性表、队列、串、栈);
  c. 树:数据元素之间存在一对多的关系;
  d. 图:数据元素之间存在多对多的关系;

3. 存储结构:
  • 顺序存储结构:用一组连续的存储单元来依次存储数据元素,数据之间的逻辑关系由元素的存储位置表示。通常通过数组实现,顺序存储结构的访问模式为随机存取。

  • 链式存储结构:用任意的存储单元来存储数据元素,数据之间的逻辑关系由指针表示。通常通过指针实现,链式存储结构的访问模式为顺序存取。

4. 时间复杂度T(n)的计算:
  1)循环主体重变量参与循环条件的判断:

		Eg.1int i = 1;
			 while(i<=n){
			     i = i * 2;
			 }
	*解析:在循环主体中,循环变量 i 参与了循环条件的判断,假设语句 i = i * 2; 的执行次数为t,
	有 2^t≤n。取对数得到t≤⁡〖log〗_2 n;T(n) = O(〖log〗_2 n)。	
		Eg.2int y = 5;
		    while((y+1)*(y+1)<n)
		        y = y + 1;
	*解析:在循环主体中,循环变量 y 参与了循环条件的判断,假设语句 y = y + 1; 的执行次数为t,
	另t = y - 5(从0开始计数),有〖(t−6)〗^2≤n,即t ≤⁡√n−6;T(n) = O(√n)。

  2)循环主体中的变量与循环条件无关:
   a. 递归:由公式递推;
   b. 非递归:直接累计次数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值