您的位置:首页 > 理论基础 > 数据结构算法

数据结构复习之基本概念

2012-08-25 09:04 92 查看
数据是是客观事物(Object)的符号(Symbol)表示, 是模型(model)

数据元素:Data Element,数据基本单位,在计算机中作为一个整体进行处理,存储中以bits squence表示,如int32,char8

数据结构是数据元素的集合,元素之间存在一种或者多种特定关系,是从操作对象中抽象出的数学模型,是数据的逻辑结构

逻辑结构分为:集合,线性,树形,图状结构

数据在计算机中的存储为:
顺序结构:其关系表示法为elements的相对位置
链式结构:其关系表示法为elements的地址指针

DataStructure = (D,S)

D是Some DataElements

S是Some Relations

DataType: Data + Operations , like fields + methods

Primitve data type:
non-structure:int,decimal, float,char,enum, pointer, null
structure:struct

ADT:abstruct data type
include:definition, presentation,implementation

ADT=(D,S,P)
D:Data
S:relations based on D
P:operations based on D

ADT ADT_Name{

D - Data Object Define (data collections)
S - Data Relations Define
P - Basic Operations Define

Init:condition
OperationResult:Op result

}ADR ADT_Name

typedef定义DS的存储结构

算法是对特定问题求解步骤的一种描述,是指令的有限序列

步骤有穷,每步有穷;

每条指令都是确定无二义性;

可由基本运算得出才算可行;

输入:特定对象的集合

输出:同输入有着某些特定关系



算法:

正确 - 无语法错误,按需求得预期结果,合理数据量下结果
可读
健壮- 非法出警告,少打断用户
时间与空间:效率与存储量要求

算法效率:

事前估算:何种策略?问题规模?输入数据的原有结构?书写的语言与编译器质量?机器运算速度?
事后统计



算法=控制结构(顺序,分支,循环)+ 元操作

如何选取控制结构和原操作?= 算法设计

Tn =O(f(n)),问题规模n,算法f(n),渐近时间复杂度Tn

O(1)常量阶
0(n)线性阶
O(n^2)平方阶
O(logn)对数阶
O(2^n)指数阶

空间
Sn =O(f(n))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: