数据结构(大纲)

一、什么是数据结构
1、 数据结构的起源:1968年美国的高纳德教授开创了一门新的课程《基本算法》,确定了数据结构和算法的基本体系。是一门研究非数值计算的学科,专注于数据的关系及操作。
程序=数据结构+算法
2、 数据结构的基本概念
数据:所有能输入到计算机中的去描述客观事物的符号
数据项:有独立含义的数据的最小单位
数据元素:数据的基本单位,也称为节点或记录
数据结构:数据元素+数据关系组成的集合
算法:
狭义上来说数据结构所具有的功能。
广义上来说算法是解决问题的方法
3、 数据结构的三个方面
数据的逻辑结构
数据的存储结构
数据结构的运算
二、四种基本的逻辑结构
集合结构:数据元素之间除了同一属一个集体外,没有关系(重要性低)
线性结构:数据元素之间存在一对一关系
树型结构:数据元素之间存在一对多关系
图型结构:数据元素之间存在多对多关系
三、数据结构的存储方式
1、顺序存储
数据存在一段连续的空间,用数据元素在存储器的位置来表示数据元素的关系
优点:可能随机访问,访问效率极高
缺点:空间利用率低,对内存的要求高(必须使用整块的内存),元素添加删除不方便
2、链式存储
结构中的每个元素存储在彼此独立的内存,每个元素中增加一个或多个数据项用来存放另一个元素的地址,用来表示数据元素之间的关系
优点:插入删除元素方便,空间利用率高,对内存的要求低
缺点:只能逐个遍历,不能随机访问,查询效率低

注意:每种逻辑结构采用什么物理结构实现,没有明确规定,通常根据实现的难易程度,以及在时间和空间复杂度的要求,选择合适的物理结构,也有可能是顺序和链式混合存储

线性结构(表):
顺序
链式
栈:是一种功能受限的线性表,只有一个端口用于元素的进出
特点是先进后出(后进先出),为函数的调用提供支持、常用于对数据的管理、表达解析
顺序栈、链式栈
队列:是一种功能受限的线性表,有两个端口进出元素,一个端口只能入队,另一个端口只能出队
特点是先进先出,常用于人物排队,如:数据池、生成者与消费者模型,树的层序遍历,图的遍历
顺序队列、链式队列
链表(链式表):元素分散存储在内存中任意位置,元素中有一个数据项用来记录下一个元素的地址(单向链表),如果元素中有两个
树:
树的种类型
普通树
二叉树
有序二叉树

图:图的总类:有向图、无向图
图的实现、遍历

算法:
查找
排序
分治
背包
时间复杂度、空间复杂度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值