-
【数据结构】10分钟教你用栈求解迷宫老鼠问题超详细教程附C++源
所属栏目:[安全] 日期:2021-04-01 热度:133
问题描述 给定一张迷宫地图和一个迷宫入口,然后进入迷宫探索找到一个出口。如下图所示: 该图是一个矩形区域,有一个入口和出口。迷宫内部包含不能穿越的墙壁或者障碍物。这些障碍物沿着行和列放置,与迷宫的边界平行。迷宫的入口在左上角,出口在右下角[详细]
-
【数据结构】1-3 多项式相加
所属栏目:[安全] 日期:2021-04-01 热度:139
其实这个还是有点问题的,在偶见情况下会打印出0*x,目前无解唔。。。 原理就是借用线性表,然后做运算直接先插入到后面。 然后遍历一下,只要指数相同就合并在前面一个里面,后面的归0(不删除)。 打印的时候加一个判断是否为0的条件就行了。 下面是源码[详细]
-
【数据结构】1-2 约瑟夫环问题
所属栏目:[安全] 日期:2021-04-01 热度:117
副标题#e# 这里放出两种不同的代码,一个是老师给的(较为复杂),还有一个是自己写的。 自己写的: #includeiostreamusing namespace std;struct Node { int data; //数据单元 Node *link; //指向下一个结点};class Josephus{private: Node *head,*current[详细]
-
【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
所属栏目:[安全] 日期:2021-03-31 热度:172
计数排序: #define?_CRT_SECURE_NO_WARNINGS?1#includeiostreamusing?namespace?std;#includeassert.h#includevectorvoid?Print(vectorint??a){????for?(int?i?=?0;?i??a.size();?i++)????{????????cout??a[i]??"??";????}????cout??endl;}void?CountSort[详细]
-
【数据结构】非比较排序算法(实现计数排序和基数排序)
所属栏目:[安全] 日期:2021-03-31 热度:58
● 计数排序 1、算法思想: ?????? 计数排序是直接定址法的变形。通过开辟一定大小的空间,统计相同数据出现的次数,然后回写到原序列中。 2、步骤: 1)找到序列中的最大和最小数据,确定开辟的空间大[详细]
-
【数据结构】二叉搜索树
所属栏目:[安全] 日期:2021-03-31 热度:147
● 二叉搜索树满足以下条件的二叉树: 1、每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2、左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3、右子树上所有节点的关键码(key)都大于根节点的关键码(key)[详细]
-
【数据结构】AVL树
所属栏目:[安全] 日期:2021-03-31 热度:64
副标题#e# 1、AVL树简介 ????? AVL树本质上还是一棵二叉搜索树,又称高度平衡的二叉搜索树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。对于二叉搜索树的介绍和实现,可查看本人上一篇博客。 2、AVL树的特点 1)本身首先是一[详细]
-
【HDU 3328】【数据结构】Flipper
所属栏目:[安全] 日期:2021-03-31 热度:120
? ? ? ? 就是一个翻牌子的问题,写的略繁琐,因为只是实验室水题,所以不优化了,L是从最左翻面并且覆盖到第二堆上,以此类推,模拟就好。 #include "stdio.h"#include "stack"#include "queue"using namespace std;int main(int argc,char const *argv[])[详细]
-
【1509】【数据结构】Windows Message Queue
所属栏目:[安全] 日期:2021-03-31 热度:135
其实就是对于操作符进行重载,然后用个优先队列,水之。 ?还有先后顺序的优先级不要问了。 ?? #include iostream#include queue#include algorithm#include cstringusing namespace std;struct node{char name[1000];int parameter;int priority;int num;[详细]
-
【数据结构】布隆过滤器
所属栏目:[安全] 日期:2021-03-31 热度:81
布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。 它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是[详细]
-
【数据结构】树和二叉树
所属栏目:[安全] 日期:2021-03-31 热度:79
?树 ? ? ? ?树是一种典型的非线性数据结构,它能够很好地应用于描述分支和层次特性的数据集合,是由一个或多个结点组成的有限集合T,一棵树至少有一个结点。 ?? ? ? ? ?树的度, 一个结点的子树数目就是该结点的“度”,在这个结点下面直接与这个结点连着[详细]
-
【数据结构】——平衡二叉树(插入)
所属栏目:[安全] 日期:2021-03-31 热度:98
? ? 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 ? ? 将[详细]
-
【数据结构】之 线性表详解
所属栏目:[安全] 日期:2021-03-31 热度:104
副标题#e# 线性表(Linear List) 基本概念 线性表是由n(n=0)个类型相同数据元素组成的有限序列。数据元素可由若干个数据对象组成,且一个线性表中的数据元素必须属于同一数据对象。 线性表示n个类型相同数据元素的有限序列,对n0,除第一个元素无直接前驱[详细]
-
《数据结构》第一章:绪论
所属栏目:[安全] 日期:2021-03-31 热度:126
第一章:绪论 1.1 数据结构的基本概念 数据:是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。 数据元素:是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分[详细]
-
Codeforces 999D Equalize the Remainders 【数据结构】【贪心】
所属栏目:[安全] 日期:2021-03-31 热度:51
考场的时候想到的n*m做法tle了,正解是O(n+m) 首先想到一个性质是不管a[i],a[j]相差多少,只要a[i],a[j]同余,那想让他们increase后%m得到另一个余数,那他们需要increse的次数是相等的。 所以我们想到把n个数按%m从0到m-1分成m类。这样就能贪心了,因为[详细]
-
《数据结构》实验三: 栈和队列实验
所属栏目:[安全] 日期:2021-03-30 热度:197
《数据结构》实验三:??? 栈和队列实验 一..实验目的 ???? 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法[详细]
-
《数据结构》实验四: 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-03-30 热度:70
《数据结构》实验四:????字符串和多维数组?实验 一..实验目的 ?????巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实[详细]
-
《数据结构》实验二: 线性表实验
所属栏目:[安全] 日期:2021-03-30 热度:180
《数据结构》实验二:?????线性表实验 一..实验目的 ?????巩固线性表的数据结构,学会线性表的应用。 1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2.学习运用线性表的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-19 热度:71
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-19 热度:140
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-19 热度:84
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-19 热度:76
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-19 热度:58
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存[详细]
-
iptables 添加,删除,查看,修改
所属栏目:[安全] 日期:2021-03-19 热度:133
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考:linux apf 防火墙 安装 配置 一,安装并启动防火墙 [root@linux[详细]
-
Shell脚本中实现把输入的密码转换为*(星号)的方法
所属栏目:[安全] 日期:2021-03-19 热度:109
如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,[详细]