- 博客(7)
- 收藏
- 关注
原创 队列及其实现
1.队列的基本介绍 队列是一种特殊的线性表,这种特殊的线性表只能在一端插入数据,然后在另一端删除数据。队列中的插入操作一般叫入队,删除操作一般叫出队。队列的这种特殊性,使其具有先进先出(FIFO-first in first out)的性质,这就类似于现实生活中的排队打饭,先来排队的同学先打到饭,后来的同学排到队伍的末尾。2.队列的基本操作 入队:在队列末尾插入元素 出队:删除队首元素 3.队列的种类 顺序队列 循环队列 链式队列 4...
2021-06-29 09:31:12
421
原创 链表及其应用(C语言实现)
链表及其应用(C语言实现) 前言 顺序表由于是顺序存储的,所以其优点就是访问元素的效率及其高,但是对元素的删除插入操作效率却很低,因为为了保持其顺序存储的特性在插入删除的过程中可能需要大量的搬移元素。为了解决这个问题,人们设计了另一种数据结构----链表。 链表定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表...
2018-12-17 00:37:20
3952
原创 顺序表及其基本操作实现(C语言实现)
顺序表及其基本操作实现(C语言实现)顺序表是最简单的数据结构之一,在计算机中顺序表一般以数组的形式保存,我们都知道数组是线性保存的,因此顺序表也是线性保存的,线性表的连续存储值得是在计算机中用一块连续的存储空间保存线性表的元素,所以线性表的相邻元素是保存在连续的存储单元上的。地址 Loc(a) Loc(a2) Loc(a3) … Loc(an) … ...
2018-12-16 10:54:23
8482
原创 Project-4:实现 Push_Relabel 和 Edmonds-Karp 最大流算法
实现Push_Relabel 和 Edmonds-Karp 最大流算法实现原理 Push_Relabel算法伪代码:Push(v,e){ IF
2018-12-16 01:28:46
1212
2
原创 Project-3:基于堆和循环桶实现 djikstra 算法
Project-3:基于堆和循环桶实现 djikstra 算法实验原理 堆: 堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。最大堆和最小堆是二叉堆的两种形式。最大堆:根结点的键值是所有堆结点键值中最大者。最小堆:根结点的键值是所有堆结点键值中最小者。本次实验使用的是最小堆; 桶:桶排序定义:桶排序 (Bucketsort)或...
2018-12-15 16:20:13
2576
1
原创 Project-2: Prim 和 Kruskal 算法寻找最小生成树
Prim 和 Kruskal 算法寻找最小生成树实验原理 堆堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。最大堆和最小堆是二叉堆的两种形式。最大堆:根结点的键值是所有堆结点键值中最大者。最小堆:根结点的键值是所有堆结点键值中最小者。本次实验使用的是最小堆。 Python heapq 模块heapq 模块提供了相应的方法来对...
2018-12-14 21:18:58
605
1
原创 Project-1:设计并实现求无向图两点间所有路径的算法
设计并实现求无向图两点间所有路径的算法实验原理 无向图的深度优先搜索:假设一个图 G,图中所有顶点未曾被访问过,则深度优先搜索就是从图中某个顶点 v 出发,访问此顶点,然后再从 v 的未被访问的邻接点出发深度优先遍历图,直至图中所有和 v 有路径相通的顶点都被访问到;若图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。 利用深...
2018-12-14 20:42:41
2320
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人