数据结构笔记(一)

数据结构

一、 数据概述

数据结构的起源

1968年美国唐•欧•克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构语其操作的著作。我们一般认为本书开创了数据结构的系统概念。

数据结构发展经历的三个阶段:

  • 无结构阶段 40-60年代
  • 结构化阶段 60-80年代——在此阶段N.Wirth教授提出了程序=数据结构+算法的概念
  • 面向对象阶段 80年代-现在
数据的概念

数据是信息的载体,它能够被计算机识别、存储、加工处理

数据的分类

数值型(原子类型):整数、实数、布尔值等
非数值型(结构类型):字符、声音、图像等

数据的元素

数据元素是数据的基本单位
数据元素是由数据项组成

数据对象

数据对象是相同元素的集合,是数据的一个子集。如字符集合C={‘A’,’B’,’C,…} 。

二、数据结构

数据结构(Data Structure):是指相互之间具有(存在)一定联系(关系)的数据元素的集合。元素之间的相互联系(关系)称为逻辑结构。
数据结构的三个组成部分
  1. 逻辑结构:D_S=(D,S)===>程序乘此
  2. 存储结构:数据库,内存
  3. 数据操作:CRUD操作
数据元素之间的逻辑结构有四种基本类型
  • 集合 :同属一个集合,无其他关系
  • 线性结构:一对一的关系
  • 树型结构:一对多的关系
  • 图状结构或网状结构:多对多的关系
    在这里插入图片描述
存储结构

顺序存储方法:数据元素在内存中按序连续存储, 结点间的逻辑关系由存储单元的邻接关系来体现
链接存储方法:用指针指出其直接后继结点的存储位置, 结点间的逻辑关系由存储单元的邻接关系来体现

逻辑结构与存储结构关系
  • 算法的设计取决于逻辑结构
  • 算法的实现依赖于存储结构

抽象数据类型(Abstract Data Type,简称ADT)

分 类 = { D : 数 据 对 象 S : 是 D 上 的 关 系 集 P : 是 对 D 的 基 本 操 作 集 分类=\left\{ \begin{matrix} D:数据对象 \\S:是D上的关系集\\P:是对D的基本操作集 \end{matrix} \right. =DS:DP:D

算法

算法的特性:
  1. 有穷性:必须有结束
  2. 确定性:必须由确切的含义
  3. 可行性:必须是可执行的有意义的
  4. 输入
  5. 输出
算法设计的要求
  1. 正确性:算法应满足具体问题的需求。
  2. 可读性:算法应容易供人阅读和交流。
  3. 健壮性: 算法应具有容错处理。
  4. 通用性:算法应具有一般性。

算法效率的度量

表示方法

时间复杂度:O(f(n))
空间复杂度:S(n)=O(f(n))
程序运行所需的存储空间包括以下两部分:
(1)固定部分
(2)可变部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值