数据结构第一章简易总结

本文概述了数据结构的基本概念,包括逻辑结构(集合、线性、树形、图结构)和存储结构(顺序、链式、索引、散列)。讨论了数据类型、抽象数据类型以及算法的时间复杂度和空间复杂度分析。此外,提到了算法的特性及评价标准。
摘要由CSDN通过智能技术生成

 数据结构

 

1、数据结构的基本概念和术语

数据结构是计算机储存,组织数据的方式,是指互相之间存在一种或多种特定关系的数据元素的集合。数据结构包括逻辑结构存储结构两个层次;

数据结构概念:数据(是客观事物的符号表示)、数据元素(是数据的基本单位)数据项(是组成数据元素的最小单位)数据对象(是数据的一个子集)

2、数据结构的逻辑结构

数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的;逻辑结构有两个要素:1、数据元素2、关系(逻辑关系)

数据的逻辑结构通常有4类基本逻辑结构(分类):

集合结构(非线性结构)

数据元素之间除了“属于同一集合”关系外,没有别的关系;

线性结构 

 数据之间存在一对一的关系,有且仅有一个开始点和一个终端结点;

树结构(非线性结构)

 数据元素之间存在一对多的关系;

图结构(非线性结构)

 数据元素之间存在多对多的关系;

线性结构包括:线性表、栈和队列、字符串、数组、广义表;

非线性结构包括:树结构、二叉树、图结构、无向图、集合结构;

3、存储结构

数据对象在计算机中的存储结构表示称为数据的存储结构(物理结构);把数据对象存储到计算机时,通常要求纪要存储各数据元素的数据,又要存储数据元素之间的逻辑关系,数据元素在计算机内用一个节点来表示。

存储结构分为:(两种基本存储结构)顺序存储结构链式存储结构、索引存储结构、散列存储结构;

顺序存储结构:是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述;

链式存储结构:无需占用一整块存储空间,为了表示节点之间的关系,需要给每个节点附加指针字段,用于存放后继元素的存储地址,所以通常借助程序设计语言的指针类型来描述;

4、数据类型和抽象数据类型

数据类型是高级程序设计语言中的一个基本概念;是一个值的集合和定义在这个值集上的一组操作的总称。程序设计语言允许用户直接使用的数据类型由具体语言决定,数据类型反应了程序设计语言的数据描述和处理能力;

抽象数据类型(ADT)一般指由用户定义的、表示应用问题的数学模型,以及 定义在这个模型上的一组操作的总称,具体包括3个部分:数据对象、数据对象上的关系的集合以及对数据对象的基本操作的集合;最终表示和实现抽象数据类型,最好用面向对象的方法;

5、算法和算法分析

算法必须满足的5个特性:有穷性、确定性、可行性、输入、输出

评价算法优劣的基本标准:正确性,可读性、健壮性、高效性

算法的时间复杂度

1、问题规模和语句频度:影响算法时间代价的最主要因素是问题规模;一句语句的重复执行次数称作语句频度

2、算法的时间复杂度定义:一般情况下,算法中基本语句重复执行的次数是问题规模n的某个函数f(n),算法时间量度记作:T(n)=O(f(n))(O表示数量级),它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度

3、最好、最坏和平均时间复杂度;计算量可能达到最小、最大、加权平均数;

算法的空间复杂度

采用渐进空间复杂度作为算法所需存储空间的量度,记作S(n)=O(f(n))

————————————————————分界线————————————————————

在读大学生一枚,刚学完这一章节根据教材写的总结,有不足的地方欢迎指出也希望提出更多的建议,也算是一种记录学习日程;

会在后续不断的完善这章内容.......

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值