数据结构
数据结构的基础知识与拓展
诶你爱我吗
不努力学习会变成猪哦
展开
-
基于RSA和AES的混合加密算法实现----2020年西北工业大学网络空间安全学院夏令营大作业
文章目录一、设计内容二、基本思路实现三、设计原理与流程3.1. 建立socket套接字连接3.1.1建立socket连接原理:3.1.2建立socket连接的流程图如下:3.2. RSA算法实现密钥加密分发3.2.1 RSA算法加密原理:3.2.2 RSA算法加密流程图:3.3. AES算法实现数据加密传输3.3.1 AES算法加密原理:3.3.2 AES算法加密解密流程图:四、实验过程与运行结果4.1. 网络传输连接的建立4.2. RSA算法的实现与加密解密4.3. AES的实现与加密解密4.4. 运行总原创 2020-10-16 15:33:51 · 3737 阅读 · 12 评论 -
数据结构——详解栈应用之迷宫问题
文章目录一.算法概述迷宫如下:1.初始化迷宫并输出2.用二维数组记录是否到过迷宫中的点3.定义(1,1,3)为起始点坐标4.算法核心:5.循环结束,栈中从底到顶即为一条路线6.输出所有的路线,并求出最短路线二.具体代码实现:三.实验截图:一.算法概述迷宫如下: 0 1 2 3 4 5 6 7 8 9 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 ...原创 2020-03-12 20:53:38 · 2623 阅读 · 0 评论 -
数据结构(三)——详解栈和队列及完整代码实现
文章目录一.栈1.1 栈的逻辑结构1.2 栈的顺序存储结构及实现1.2.1 顺序栈的实现——入栈1.2.2顺序栈的实现——出栈1.2.3 两栈共享空间1.3 栈的链接存储结构及实现1.3.1 链栈的实现——入栈1.3.2 链栈的实现——出栈1.4 顺序栈和链栈的比较二.队列2.1 队列的逻辑结构2.2 队列的顺序存储结构及实现2.2.1 循环队列2.2.2 循环队列的实现——入队2.2.3 循环队...原创 2020-03-12 01:56:51 · 3095 阅读 · 0 评论 -
数据结构(二)——详解单链表与链式存储结构的增改删查的实现
一.单链表1.1单链表:线性表的链接存储结构。存储思想:用一组任意的存储单元存放线性表的元素。其中,任意的含义为:连续、不连续、零散分布例如:(a1, a2 ,a3, a4)的存储示意图如下:由图可以发现单链表的存储特点:逻辑次序和物理次序不一定相同,即每个内存可以在内存表中任意存放。元素之间的逻辑关系用指针表示。1.2单链表的结点结构单链表是由若干结点构成的,单链表的结点...原创 2020-03-08 21:43:03 · 1570 阅读 · 0 评论 -
数据结构(一)——实现线性表顺序存储结构的增改删查
一.线性表的定义线性表:简称表,是n(n≥0)个具有相同类型的数据元素的有限序列。}线性表的长度:线性表中数据元素的个数。空表:长度等于零的线性表,记为:L=( )。非空表记为:L=(a1, a2 , …, ai-1, ai , …, an)其中,ai(1≤i≤n)称为数据元素;下角标 i 表示该元素在线性表中的位置或序号 。二.顺序存储结构实现线性表的增改删查2.1 采用C+...原创 2020-03-08 19:45:06 · 1065 阅读 · 1 评论 -
数据结构——详解最短路径之Dijkstra(迪杰斯特拉)算法和Floyd(弗洛伊德)算法及代码实现
1.什么是最短路径?在非网图中,最短路径是指两顶点之间经历的边数最少的路径。比如这个图,AE就是最短路径在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。而在这个图中,ADCE是最短路径2.Dijkstra算法迪杰斯特拉(Dijkstra)提出了一个按路径长度递增的次序产生最短路径的算法——Dijkstra算法。2.1基本思想:设置一个集合S存放已经找到最短路径的顶...原创 2019-12-30 13:47:22 · 3383 阅读 · 0 评论 -
数据结构——详解图的深度优先遍历和广度优先遍历及代码实现
图的深度优先遍历和广度优先遍历:从本质上来说都是用来访问图中的所有结点的,只是两种访问的方式不同,深度优先遍历用的是堆栈,先进的后出,而广度优先遍历用的是队列的思想。1.图的深度优先遍历1.1基本思想:⑴ 访问顶点v;⑵ 从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历;⑶ 重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。例如我们需要用深度优先遍历下面这个图...原创 2019-12-30 13:02:07 · 14218 阅读 · 1 评论 -
数据结构课程设计——实现链串的基本功能
1. 设计内容与要求*设置字符串、返回字符串长度和显示内容等功能。能对字符串进行插入、替换、删除、查找和连接等操作。程序要求:串采用链式存储结构,串结点结构如下:#define N 4typedef struct Node{char data[N];struct Node next;} LianString;实现(1)中所列的功能如果链串中的最后一个结点中的字符不足N个,可...原创 2019-12-28 15:04:21 · 1549 阅读 · 0 评论 -
数据结构——详解哈夫曼树及哈夫曼编码与其具体代码实现
哈夫曼树首先我们需要明白什么是哈夫曼树:概念上说,哈夫曼树是给定一组具有确定权值的叶子结点,带权路径长度最小的二叉树。叶子结点的权值:对叶子结点赋予的一个有意义的数值量。二叉树的带权路径长度:设二叉树具有n个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和。 记为:看起来好像有点抽象,那么我来解释一下:比如我们给定4个叶子结点,其权值分别为{2,3,4,...原创 2019-12-27 23:00:26 · 3986 阅读 · 1 评论