-
【数据结构】 二叉树
所属栏目:[安全] 日期:2021-03-31 热度:98
副标题#e# 二叉树概念 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二 叉树的每个结点至多只有二棵子树(不存在度大于2的结[详细]
-
【数据结构】二叉树
所属栏目:[安全] 日期:2021-03-31 热度:53
副标题#e# 前言 数据结构还是大二的时候学过的,当然由于是非计算机专业的学生,所以学的也不怎么样,去年用c++实现了最基本的数据结构,链表/栈/队列/二叉树,三月份看的时候还贴到了博客上。然而当时由于代码量不够,其实写的并不是很好,理解也太不到位[详细]
-
【数据结构】冒泡排序
所属栏目:[安全] 日期:2021-03-31 热度:171
对于一个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; } void[详细]
-
【数据结构】快速排序
所属栏目:[安全] 日期:2021-03-31 热度:130
对于一个int数组,请编写一个归并排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,3],6 [1,5] 思路: 1, 选取第一个为哨兵,不要随机选取 2, 在交换的时候一定要注意偏移量,left一定要加上,不然[详细]
-
【数据结构】 两个栈实现一个队列【面试】
所属栏目:[安全] 日期:2021-03-31 热度:140
栈结构:先进后出,后进先出,只允许在栈尾操作。 队列:先进先出,在队尾入队,在队头出队。 要想用两个栈实现一个队列,就需要使用一个相当于中间量的结构进行队列的入队和出队操作。 用图形象化为: 这样问题就从图中得出了思路: 入队操作:把入队元素[详细]
-
【数据结构】 一个数组实现两个栈【面试】
所属栏目:[安全] 日期:2021-03-31 热度:199
副标题#e# 以前,我们实现一个栈,轻轻松松,无需考虑太多因素,即可实现。 现在,要求在一个数组里实现两个栈,那么在数组里怎么实现栈呢? 无非就是下标索引,方法也不局限一种,例如:用奇数下标作为栈s1的结构,用偶数作为s2的结构;再者:一前一后的结[详细]
-
【数据结构】位图BitMap与布隆过滤器BloomFilter
所属栏目:[安全] 日期:2021-03-31 热度:177
副标题#e# ??? 首先先看一下下面这个腾讯的面试题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。?【腾讯】 思路一: ??? 最容易想到的解法就是遍历所有的40多亿个整数,然后一个一个判断。但是这个需[详细]
-
【数据结构】常见的7种比较排序算法1
所属栏目:[安全] 日期:2021-03-31 热度:120
副标题#e# ● 直接插入排序(Insert Sort) 1、算法描述: ? ??该算法是一种简单直观的是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上只需用到O(1)的额外空间的排序,因而在从后向前扫描过程中,[详细]
-
【1509】【数据结构】Windows Message Queue
所属栏目:[安全] 日期:2021-03-31 热度:193
其实就是对于操作符进行重载,然后用个优先队列,水之。 ?还有先后顺序的优先级不要问了。 ?? #include iostream#include queue#include algorithm#include cstringusing namespace std;struct node{char name[1000];int parameter;int priority;int num;[详细]
-
【数据结构】布隆过滤器
所属栏目:[安全] 日期:2021-03-31 热度:90
布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。 它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是[详细]
-
【数据结构】树和二叉树
所属栏目:[安全] 日期:2021-03-31 热度:146
?树 ? ? ? ?树是一种典型的非线性数据结构,它能够很好地应用于描述分支和层次特性的数据集合,是由一个或多个结点组成的有限集合T,一棵树至少有一个结点。 ?? ? ? ? ?树的度, 一个结点的子树数目就是该结点的“度”,在这个结点下面直接与这个结点连着[详细]
-
【数据结构】——平衡二叉树(插入)
所属栏目:[安全] 日期:2021-03-31 热度:165
? ? 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 ? ? 将[详细]
-
【HDU 3328】【数据结构】Flipper
所属栏目:[安全] 日期:2021-03-31 热度:82
? ? ? ? 就是一个翻牌子的问题,写的略繁琐,因为只是实验室水题,所以不优化了,L是从最左翻面并且覆盖到第二堆上,以此类推,模拟就好。 #include "stdio.h"#include "stack"#include "queue"using namespace std;int main(int argc,char const *argv[])[详细]
-
【数据结构】AVL树
所属栏目:[安全] 日期:2021-03-31 热度:110
副标题#e# 1、AVL树简介 ????? AVL树本质上还是一棵二叉搜索树,又称高度平衡的二叉搜索树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。对于二叉搜索树的介绍和实现,可查看本人上一篇博客。 2、AVL树的特点 1)本身首先是一[详细]
-
【数据结构】非比较排序算法(实现计数排序和基数排序)
所属栏目:[安全] 日期:2021-03-31 热度:131
● 计数排序 1、算法思想: ?????? 计数排序是直接定址法的变形。通过开辟一定大小的空间,统计相同数据出现的次数,然后回写到原序列中。 2、步骤: 1)找到序列中的最大和最小数据,确定开辟的空间大[详细]
-
【数据结构】二叉搜索树
所属栏目:[安全] 日期:2021-03-31 热度:197
● 二叉搜索树满足以下条件的二叉树: 1、每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2、左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3、右子树上所有节点的关键码(key)都大于根节点的关键码(key)[详细]
-
【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
所属栏目:[安全] 日期:2021-03-31 热度:175
计数排序: #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[详细]
-
【数据结构】常见的7种比较排序算法2
所属栏目:[安全] 日期:2021-03-31 热度:157
副标题#e# ● 快速排序(Quick Sort) 1、算法描述: ? ?在平均状况下,排序n个数据要O(nlg(n))次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 O(nlg(n))算法更快,因为它的内部循环(inner loop)可以在大[详细]
-
Linux服务器的初步配置流程
所属栏目:[安全] 日期:2021-03-31 热度:77
开发网站的时候,常常需要自己配置Linux服务器。 本文记录配置Linux服务器的初步流程,也就是系统安装完成后,下一步要做的事情。这主要是我自己的总结和备忘,如果有遗漏,欢迎大家补充。 下面的操作针对Debian/Ubuntu系统,其他Linux系统也类似,就是部[详细]
-
简单的HTTP服务器 http-server
所属栏目:[安全] 日期:2021-03-31 热度:171
因为web worker的需要启动服务器,所以急需一个本地服务器,一年前安装的XAMPP也打不开了。况且,只是运行个前端的页面,用个简单的服务器就行了。 http-server 是一个简单的零配置命令行HTTP服务器,基于 nodeJs。 http-server 安装 npminstallhttp-serve[详细]
-
csf 针对某一ip 开放 单个 多个端口
所属栏目:[安全] 日期:2021-03-31 热度:55
csf是一个其于iptables的防火墙,在/etc/csf.conf中可以开放端口,但是在这里开放的端口,是所有IP都可以访问的。如果想针对某一ip开放某一端口,或者多个端口怎么办呢。 修改/etc/csf.allow文件,添加以下内容 1,开放单个端口 tcp|in|d=3306|s=192.168.10.[详细]
-
使用nethogs查看进程使用的网络情况
所属栏目:[安全] 日期:2021-03-31 热度:114
NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。 安装nethogs 本篇文章主要讲解centeos和ubuntu如何安装nethogs #centeos安装yuminstallnethogs#ubuntu安装sudoapt-getinstallnethogs 使用nethogs 在基[详细]
-
csf ip 端口 映射
所属栏目:[安全] 日期:2021-03-31 热度:74
csf基于iptables的,不支持SNAT外,其他映射是支持的。最新版不知道,有没有解决这个问题。配置文件/etc/csf.allow 1,DNAT 用法:IPx|*|IPy|*|tcp/udp //IPX映射IPYIPx|portA|IPy|portB|tcp/udp //IPX 端口portA 映射到ipY 端口portB例子:192.168.254.62[详细]
-
linux csf 防火墙 防止少量的ddos cc攻击很有效
所属栏目:[安全] 日期:2021-03-31 热度:100
上篇博客说到,httpd请求数过多,apache连接数不够,加大连接数的做法,在受ddos,cc攻击的情况下,最终的结果就是系统资源耗尽,导致死机。 测试服务器,也没有想到会受到攻击,什么防范措施也没有做。装了csf的防火墙,在应对少量ddos,cc攻击的,还是挺管[详细]
-
关于HTTPS的七个误解
所属栏目:[安全] 日期:2021-03-31 热度:98
副标题#e# 本文详细讨论了关于HTTPS的七个误解,误解内容包括HTTPS无法缓存、SSL证书很贵、HTTPS太慢等等,以下是原文,希望你可以更透彻地了解HTTPS。 误解七:HTTPS无法缓存 许多人以为,出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTT[详细]