-
《数据结构》第六章 图 相关概念导图
所属栏目:[安全] 日期:2021-04-01 热度:139
第六章, 是一个概念众多,且容易混淆,可能有些 “图” 晕。在此画一个导图,简化一个本章节的主要名词术语。请大家好好,理解各个概念的内含和一些概念间关系。[详细]
-
《数据结构》第六章 图 教学设计
所属栏目:[安全] 日期:2021-04-01 热度:196
? ? ?第六章图,是很重要也是最难的一章了,当然有前面的基础,学习也不会困难。本章节主要是概念多,图结构复杂。本设计也属于迟到的了。抱歉。 本章学习总时问分为 2周,共四次课来 来学习。两次上课(13周和14周),一次实验(14周,实验不给课内时间,请[详细]
-
【数据结构】布隆过滤器
所属栏目:[安全] 日期:2021-04-01 热度:90
布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。 它实际上是由一个很长的 二进制向量 和 一系列随机映射函数 组成, 布隆过滤器可以用于检索一个元素是否在一个集合中 。它的 优点是空间效率和查询时间都远远超过一般的算法,缺[详细]
-
【数据结构】树和二叉树
所属栏目:[安全] 日期:2021-04-01 热度:146
?树 ? ? ? ?树是一种典型的非线性数据结构,它能够很好地应用于描述分支和层次特性的数据集合,是由一个或多个结点组成的有限集合T, 一棵树至少有一个结点。 ?? ? ? ? ? 树的度 , 一个结点的子树数目就是该结点的“度”,在这个结点下面直接与这个结点连着[详细]
-
【数据结构】——平衡二叉树(插入)
所属栏目:[安全] 日期:2021-04-01 热度:144
? ? 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 ? ? 将二[详细]
-
【数据结构】之 线性表详解
所属栏目:[安全] 日期:2021-04-01 热度:180
线性表(Linear List) 基本概念 线性表是由n(n=0)个类型相同数据元素组成的有限序列 。 数据元素可由若干个数据对象组成,且一个线性表中的数据元素必须属于同一数据对象 。 线性表示n个类型相同数据元素的有限序列,对n0,除第一个元素无直接前驱,最后一[详细]
-
【数据结构】堆
所属栏目:[安全] 日期:2021-03-31 热度:53
堆 这种数据结构。一般堆用来实现优先级队列。 优先级队列:和通常的栈和队列一样,只不过里面的每个元素都有一个“优先级”,在处理的时候,首先处理优先级最高的。通常包含三个操作getMax/delMax/insert 栈和队列算是优先级队列的特例。 使用其他数据结构[详细]
-
【数据结构】二叉树
所属栏目:[安全] 日期:2021-03-31 热度:91
前言 数据结构还是大二的时候学过的,当然由于是非计算机专业的学生,所以学的也不怎么样,去年用c++实现了最基本的数据结构,链表/栈/队列/二叉树,三月份看的时候还贴到了博客上。然而当时由于代码量不够,其实写的并不是很好,理解也太不到位。 最近在看[详细]
-
【数据结构】冒泡排序
所属栏目:[安全] 日期:2021-03-31 热度:167
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,3],6 [1,5] class BubbleSort {public: void swap( int * a, int * b){ int temp = *a ; *a = *b ; *b = temp; } voi[详细]
-
【数据结构】快速排序
所属栏目:[安全] 日期:2021-03-31 热度:111
对于一个int数组,请编写一个归并排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,3],6 [1,5] 思路: 1, 选取第一个为哨兵,不要随机选取 2, 在交换的时候一定要注意偏移量,left一定要加上,不然通[详细]
-
【数据结构】 两个栈实现一个队列【面试】
所属栏目:[安全] 日期:2021-03-31 热度:169
栈结构:先进后出,后进先出,只允许在栈尾操作。 队列:先进先出,在队尾入队,在队头出队。 要想用两个栈实现一个队列,就需要使用一个相当于中间量的结构进行队列的入队和出队操作。 用图形象化为: 这样问题就从图中得出了思路: 入队操作:把入队元素一[详细]
-
【数据结构】 一个数组实现两个栈【面试】
所属栏目:[安全] 日期:2021-03-31 热度:107
以前,我们实现一个栈,轻轻松松,无需考虑太多因素,即可实现。 现在,要求在一个数组里实现两个栈,那么在数组里怎么实现栈呢? 无非就是下标索引,方法也不局限一种,例如:用奇数下标作为栈s1的结构,用偶数作为s2的结构;再者:一前一后的结构,栈s1从[详细]
-
【数据结构】 栈
所属栏目:[安全] 日期:2021-03-31 热度:114
栈结构,通俗易懂,特点:先进后出,后进先出。 以下,仅对于栈结构常用的操作进行实现 包括: ???????? 入栈(push),出栈(pop),判空(empty),栈顶元素(GetTop) #include?iostreamusing?namespace?std;templateclass?Tclass?Stack{public:????Stack([详细]
-
【数据结构】 二叉树
所属栏目:[安全] 日期:2021-03-31 热度:129
二叉树概念 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二 叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树[详细]
-
【数据结构】位图BitMap与布隆过滤器BloomFilter
所属栏目:[安全] 日期:2021-03-31 热度:60
??? 首先先看一下下面这个腾讯的面试题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。?【腾讯】 思路一: ??? 最容易想到的解法就是遍历所有的40多亿个整数,然后一个一个判断。但是这个需要花费的内[详细]
-
【数据结构】常见的7种比较排序算法1
所属栏目:[安全] 日期:2021-03-31 热度:62
● 直接插入排序(Insert Sort) 1、算法描述: ? ? ? 该算法是一种简单直观的是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上只需用到O(1)的额外空间的排序,因而在从后向前扫描过程中,需要反复把[详细]
-
【数据结构】常见的7种比较排序算法2
所属栏目:[安全] 日期:2021-03-31 热度:144
● 快速排序(Quick Sort) 1、算法描述: ? ?在平均状况下,排序n个数据要 O(nlg(n)) 次比较。在最坏状况下则需要 O(n^2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 O(nlg(n)) 算法更快,因为它的内部循环(inner loop)可以在大部分的[详细]
-
【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
所属栏目:[安全] 日期:2021-03-31 热度:138
计数排序: #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(v[详细]
-
【数据结构】非比较排序算法(实现计数排序和基数排序)
所属栏目:[安全] 日期:2021-03-31 热度:177
● 计数排序 1、算法思想: ?????? 计数排序是直接定址法的变形。通过开辟一定大小的空间,统计相同数据出现的次数,然后回写到原序列中。 2、步骤: 1)找到序列中的最大和最小数据,确定开辟的空间大[详细]
-
【数据结构】二叉搜索树
所属栏目:[安全] 日期:2021-03-31 热度:132
● 二叉搜索树满足以下条件的二叉树: 1、每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2、左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3、右子树上所有节点的关键码(key)都大于根节点的关键码(key)。[详细]
-
【数据结构】AVL树
所属栏目:[安全] 日期:2021-03-31 热度:125
1、AVL树简介 ????? AVL树本质上还是一棵二叉搜索树,又称高度平衡的二叉搜索树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。对于二叉搜索树的介绍和实现,可查看本人上一篇博客。 2、AVL树的特点 1)本身首先是一棵二叉搜索树[详细]
-
【HDU 3328】【数据结构】Flipper
所属栏目:[安全] 日期:2021-03-31 热度:186
? ? ? ? 就是一个翻牌子的问题,写的略繁琐,因为只是实验室水题,所以不优化了,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 热度:115
其实就是对于操作符进行重载,然后用个优先队列,水之。 ?还有先后顺序的优先级不要问了。 ?? #include iostream#include queue#include algorithm#include cstringusing namespace std;struct node{char name[1000];int parameter;int priority;int num; //[详细]
-
linux csf 防火墙 防止少量的ddos cc攻击很有效
所属栏目:[安全] 日期:2021-03-19 热度:176
上篇博客说到,httpd请求数过多,apache连接数不够,加大连接数的做法,在受ddos,cc攻击的情况下,最终的结果就是系统资源耗尽,导致死机。 测试服务器,也没有想到会受到攻击,什么防范措施也没有做。装了csf的防火墙,在应对少量ddos,cc攻击的,还是挺管用[详细]
-
Linux服务器的初步配置流程
所属栏目:[安全] 日期:2021-03-19 热度:90
开发网站的时候,常常需要自己配置Linux服务器。 本文记录配置Linux服务器的初步流程,也就是系统安装完成后,下一步要做的事情。这主要是我自己的总结和备忘,如果有遗漏,欢迎大家补充。 下面的操作针对Debian/Ubuntu系统,其他Linux系统也类似,就是部分[详细]