数据结构与算法笔记
记录数据结构与算法的一些知识,方便自己对知识的巩固,也希望能够为同行提供参考,并能得到同行的指正。
技术拾光
不积跬步,无以至千里。
展开
-
图的应用-拓扑排序及关键路径求解
目录1. 拓扑排序1.1 拓扑排序简介1.2 拓扑排序算法2. 关键路径2.1 关键路径概述2.2 关键路径算法2.2.1 事件最早发生时间etv计算2.2.2 事件最晚发生时间ltv及关键路径计算1. 拓扑排序1.1 拓扑排序简介有⼀个表示⼯程的有向图中, ⽤顶点表示活动, 用弧表示活动之间的优先关系,这样有向图为顶点表示活动的⽹,我们称为AOV网(Activity On Vertex Network).如下图1.1.1所示:图中活动的有限集为:C1->C2->C3->C4原创 2020-05-14 15:19:33 · 4931 阅读 · 0 评论 -
限定性线性表—队列(顺序存储及链式存储)
目录1. 队列概述1.1 队列定义1.2 队列演示2. 队列顺序存储2.1 顺序存储定义2.2 循环队列2.3 顺序存储队列常规操作2.3.1 初始化与清空2.3.2 空队列与满队列判断2.3.3 入队与出队2.3.4 其他操作3. 队列链式存储3.1 链式存储定义3.2 链式存储队列常规操作3.2.1 初始化与销毁3.2.2 空队列判断3.2.3 入队与出队3.2.4 其他操作4. 总结1. 队列概述1.1 队列定义队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。队列是一种先进先出的原创 2020-05-09 16:02:31 · 3791 阅读 · 0 评论 -
树的概念及二叉树
目录1. 树的概念1.1 树的定义1.2 结点分类1.3 结点间关系1.4 其他相关概念2. 二叉树概念2.1 二叉树定义2.2 特殊二叉树2.2.1 斜树2.2.2 满二叉树2.2.3 完全二叉树2.3 二叉树性质3. 二叉树顺序存储3.1 二叉树的顺序存储结构3.2 二叉树的顺序存储操作3.2.1 二叉树的构造及初始化3.2.2 获取二叉树的深度3.2.3 获取二叉树的结点值3.2.4 给二叉...原创 2020-04-29 15:56:20 · 3547 阅读 · 0 评论 -
限定性线性表—栈(顺序存储及链式存储)
目录1. 栈的定义1.1 定义1.2 插入与删除概念2. 栈的顺序存储结构2.1 栈的顺序存储结构定义2.2 顺序栈初始化2.3 顺序栈进栈操作——插入元素2.4 顺序栈出栈操作——删除元素2.5 顺序栈置空与判断2.6 获取顺序栈栈顶元素2.7 遍历顺序栈元素3. 栈的链式存储结构3.1 栈的链式存储结构定义3.2 链式栈初始化3.3 链式栈进栈操作——插入元素3.4 链式栈出栈操作——删除元素...原创 2020-04-28 10:41:23 · 3628 阅读 · 0 评论 -
线性表的链式存储结构-双向链表及双向循环链表
目录1. 双向链表1.1 双向链表创建1.2 双向链表插入结点1.3 双向链表删除指定结点1.4 双向链表删除指定元素1.5 双向链表查找元素位置1.6 双向链表更新结点数据1.7 双向链表遍历2. 双向循环链表2.1 双向循环链表创建2.2 双向循环链表插入结点2.3 双向循环链表删除结点2.4 双向循环链表遍历上一边文章我们介绍了单链表及循环链表,现在我们了解一下双向链表及双向循环链表。1...原创 2020-04-24 17:48:50 · 3756 阅读 · 0 评论 -
线性表的链式存储结构-单链表及循环链表
目录1. 链式存储定义2. 单链表2.1 单链表初始化2.2 单链表插入数据2.3 单链表删除数据2.4 单链表读取数据2.5 头插法整体创建链表2.6 尾插法整体创建链表2.7 单链表整体删除3. 单链表与顺序存储结构优缺点4. 循环链表4.1 循环链表定义4.2 循环链表创建4.3 循环链表插入数据4.4 循环链表删除数据4.5 循环链表查询数据位置1. 链式存储定义为了表示每个数据元素a...原创 2020-04-24 10:02:11 · 4647 阅读 · 0 评论 -
线性表的顺序存储结构
目录1. 线性表的定义2. 线性表的顺序存储结构2.1 顺序存储定义2.2 顺序存储结构常用操作2.2.1 顺序表初始化2.2.2 顺序表插入与删除2.2.3 顺序表其他操作2.3 线性表顺序存储结构的优缺点1. 线性表的定义线性表:零个或者多个数据元素的有限序列。线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。对于一个非空的线性表或者线性结构,具有以下特点:存在...原创 2020-04-23 10:42:39 · 11685 阅读 · 0 评论 -
数据结构与算法之概述
目录1. 数据结构2. 逻辑结构和物理结构2.1 逻辑结构2.2 物理结构3. 算法3.1 算法的定义3.2 算法的特性3.3 算法的设计要求3.4 算法的时间复杂度3.4.1 大O阶表示法3.4.2 常用算法复杂度3.5 最坏情况和平均情况3.6 算法的空间复杂度4. 总结1. 数据结构数据:程序的操作对象,用于描述客观事物。数据不仅仅包括整型、实型等数值类型,还包括字符、声音、图像和视频等...原创 2020-04-22 22:13:44 · 3663 阅读 · 0 评论