[关闭]
@JRuiCoder 2016-04-19T11:07:16.000000Z 字数 805 阅读 1371

数据结构(一)

数据结构


一. 基本概念

数据

数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被成为记录。
数据项:一个数据元素可以有若干个数据项组成。数据项是数据不可分割的最小单位。
数据对象:是性质相同的数据圆度的集合,是数据的子集。
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

逻辑结构

  1. 集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有其他关系。
  2. 线性结构:数据元素之间是一对一的关系
  3. 树形结构:数据元素之间存在一种一对多的层次关系
  4. 图形结构:数据元素是多对多的关系

物理结构

物理结构:数据的逻辑结构在计算机中的存储形式。
1.顺序存储结构:把数据元素存放在地址连续的存储单元,逻辑关系和物理关系是一致的
2. 链式存储结构:数据元素存放在任意的存储单元中,可以是连续,也可以是不连续。

抽象数据类型

数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称。
抽象数据结构(ADT)是一些操作的集合

二. 算法

算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

1. 特性

2. 设计要求

3. 算法效率的度量方法

事后统计方法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较。
(有比较大的缺陷,受到机器、软件等因素的影响)
事前分析估算方法:编制前,根据统计方法对算法进行估算。

4. 算法时间复杂度

推导大O阶

用常数1取代运行时间中的所有加法常数
在修改后的运行次数函数中,只保留最高阶项
如果最高阶存在且不是1,则去除与这个项相乘的常数

5. 算法空间复杂度

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注