数据结构笔记

1.绪论

1.1起源

早期的计算机只是计算,将实际问题抽象为一个数学模型,并为之设计一个算法,再编写程序,最后得到一个实际app。可现实中,我们缺少的不是方法,而是时间,进而有了表,树,图等数据结构。

1.2基本概念及术语

1.2.1数据

描述客观事物的符号

前提:

  1. 可以输入计算机
  2. 能被计算机程序处理

1.2.2数据元素

组成数据,具有一定意义的基本单位(通常作为一个整体被计算机处理)

1.2.3数据项

数据元素的组成元素

eg:人(数据元素)由手,腿,头组成(数据项)

1.2.4数据对象

性质相同的数据元素的集合,为数据的子集

1.2.5数据结构

结构,即关系。不同数据元素之间存在的特定关系称为结构

数据结构:存在一种或多种特定关系的集合

1.2.5.1逻辑结构

数据对象中数据元素之间的相互关系

1.2.5.1.1集合结构

数据元素除了属于同一集合外没有其他关系

1.2.5.1.2线性结构

数据元素之间是一对一关系

1.2.5.1.3树形结构

一对多关系

1.2.5.1.4图形结构

多对多关系

1.2.5.2物理结构(存储结构)

数据的逻辑结构在计算机中的存储形式即物理结构

存储结构应正确反映数据元素之间的逻辑关系

1.2.5.2.1顺序存储结构

数据间的逻辑关系和物理(空间)关系是一致的

1.2.5.2.2链式存储结构

数据存在于任意存储单元里,并不一定连续

1.2.6数据类型

性质相同值的集合及定义在此集合上一些操作总称

1.2.6.1数据类型的定义

//提高空间的利用率

按照数值的不同而划分

*c语言中:

  1. 原子类型:不可再分类型:整型,实型/浮点型,字符型
  2. 结构类型:若干类型组合而成,可再分解(整型数组由整型数据组成

1.2.6.2抽象数据类型
  • 一个数学模型及定义在该模型上的一组操作
  • 定义仅取决于它的一组逻辑特性
  • 抽象的数据类型不仅仅可以指那些被已经定义的数据类型,还可以通过编程者自己决定
  • 抽象数据类型体现了程序设计中问题分解,抽象和信息隐藏的特性

2.算法

对于特定问题求解步骤的描述

2.1算法的设计要求

  1. 正确性
  2. 可读性
  3. 健壮性:输入数据不合法时能及时给出反馈

2.2算法效率的度量方法

2.2.1事后统计法

通过测试案列运行时间进行比较

2.2.2事前分析法

依据统计方法对于算法进行估算


(未完待续......)

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值