数据结构-绪论

一.什么是数据结构

1. 数据结构的定义:

  - 数据:是描述客观事物的数和字符的集合;

  - 数据元素:人们通常以数据元素作为数据的基本单位;

  - 数据元素也称作元素、节点、顶点、记录;

  - 一个数据元素可以由若干个数据项组成;

  - 数据项:是具有独立含义的最小数据单位。也称为字段或域;

  - 数据对象:是性质相同的数据元素的集合,他是数据的子集;

  - 数据结构:是指所有数据元素以及数据元素之间的关系,可以看作是相互之间存在着某种特定关系的数据元素的集合。即把数据结构看成是带结构的数据元素的集合。  

2. 数据结构包括的方面:

  - 数据元素之间的逻辑关系;、

  - 施加在数据上的操作,即数据的运算;

  - 数据的存储结构;

3. 二元数组:

  - 对于一种数据结构,其逻辑结构总是唯一的,但它可能对应多种存储结构,并且在不同的存储结构中,同一运算的实现过程可能不同;

  - 公式 :B=(D,R);

  - 解释说明:B是一种数据结构,它由数据元素的集合D和D上二元关系的集合R组成;

  - 前驱节点:称序偶的第一节点为第二节点的前驱节点;

  - 后继节点:称第二节点为第一节点后继节点;

  - 开始节点:若某个节点没有前驱节点,称该节点为开始节点;

  - 终端节点:若某个节点没有后继节点,则称该节点为终端节点

4. 逻辑结构类型:

  - 集合;

  - 线性结构;

  - 树形结构;

  - 图形结构;

  - 注意:

    >通常数据的逻辑结构简称为数据结构;

    >树形结构和图形结构统称为非线性结构;

5. 存储结构类型:

  - 顺序存储结构;

  - 链式存储结构;

  - 索引存储结构;

  - 散列(或哈希)存储结构;

6. 数据类型和数据结构:

  - 数据类型:是一组性质相同的值的集合和定义在此集合上的一组操作的总称

  - 抽象数据类型:指的是用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑结构和逻辑结构上的运算,不考虑计算机的具体存储结构和运算的具体实现方法;

  - 抽象数据类型包括:数据对象(D)、数据关系(S)、基本运算(P);

  - 抽象数据类型基本格式:

ADT 抽象数据类型名
 {  数据对象:数据对象的声明
    数据关系:数据关系的声明
    基本运算:基本运算的声明
 } ADT 抽象数据类型名

注:
  1.基本运算名(参数表):运算功能描述;
  2.基本运算有两种参数:赋值参数、引用参数;
  3.抽象数据类型特征:数据抽象、数据封装;

二.算法及描述

1. 算法是对特定问题的求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示计算机的一个或对个操作;

2. 算法的五个特性:

  >有穷性;

  >确定性;

  >可行性;

  >有输入;

  >有输出;

3. 算法的描述:语言方式、图形方式、表格方式;

三.算法分析

1. 算法设计应实现的目标:

  >正确性;

  >可使用性;

  >可读性;

  >健壮性;

  >高效率与低存储量需求;

2. 算法效率分析:

  - 横向算法效率的方法:事后统计法、事前分析估算法;

  - 算法构成:是由控制结构(顺序、分支、循环)和原操作(指对固有数据类型的操作)构成的,算法的运行时间取决于两者的综合效果;

  - 基本运算:将基本运算的原操作简称基本运算;

  - 语句频度:一条语句的运行次数简称为语句频度;

3.复杂度:

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值