数据结构与算法
1、数据结构的概念和分类
1.1 基本的概念
在计算机中,数据结构就是指计算机描述和存储数据的方式
主要描述数据元素之间的逻辑关系以及计算机存储形式
空间复杂度,时间复杂度
计算机程序 = 数据结构 + 算法
1.2 基本的分类/层次结构
(1)逻辑结构 - 抽象层
主要描述数据结构元素之间的逻辑关系
(2)物理结构 - 结构层
主要描述数据元素之间的位置关系以及存储形式
(3)运算结构 - 实现层
主要描述如何实现该结构以及该结构的基本操作
1.3 逻辑结构的分类
(1)集合结构
(2)线性结构 前趋与后继
(3)树形结构 根、叶子
(4)网状结构
1.4 物理结构
(1)顺序存储结构
一组连续的存储区,可使用C语言的数组描述
(2)链式存储结构
不连续存储单元,可用结构体链表实现
1.5 逻辑结构和物理结构的关系
每种逻辑结构采用何种物理结构来实现并没有明确规定
甚至某些特性情况下,同一种逻辑结构可能需要多种物
理结构配合来实现
1.6 运算结构
(1)创建 与 销毁
分配资源实现创建 => 建立数据结构 =>销毁占用资源
(2)插入 和 删除
向数据结构中增加元素 和 从数据结构中减少元素
(3)修改 和 查找 以及 排序
修改元素的值 使用查找算法 和 排序算法
---------------------------------------------------------------------
2. 堆栈(stack)的基本特征和实现
2.1 基本特征
具有后进先出特征的数据结构叫做堆栈
LIFO(last in first out)
堆栈是只能在一端增删元素的数据结构,该位置称为栈顶
2.2基本操作
创建(creat)\ 销毁(destroy) \ 入栈(push)
出栈(pop) \ 遍历(travel) \ 判断是否为满(full)
判断栈是否为空(empty) \ 计算栈中元素的个数(size)
查看栈顶元素值(peek)
2.3 基于顺续存储结构的实现
。。。。。。