- 博客(28)
- 收藏
- 关注
原创 【网络流量识别】【深度学习】【一】IRNN和LSTM—网络入侵检测系统深度学习方法的比较分析(N-IDS):N-IDS 的深度学习
原文来自ACM网址,发表于ICISDM,是2019年4月发表的一篇文章,作者是陆祥林,刘鹏菊等。原文名字:网络入侵检测系统深度学习方法的比较分析(N-IDS):N-IDS 的深度学习文章链接:Engineering Village - Record Abstract View全文在线文档链接:A Comparative Analysis of Deep Learning Approaches for Network Intrusion Detection System
2021-09-30 11:44:32 5423 4
原创 【数据结构】NOJ009—循环队列
题目简述:解析:建立一个结构体即可。里边有可变长度的int数组用来存数据,设置头节点,尾节点,长度length表明队列目前有多少个元素,MaxLen表明队列最大长度。重点:(1)注意头指针与尾指针的关系;(2)注意出队列和入队列时frot和rear的变换要除以MaxLen取余;代码#include <iostream>#include<stdio.h>#include<malloc.h>using namespace std;
2021-09-28 21:16:12 245
原创 【数据结构】NOJ008—逆波兰式
题目简述:解析:本题重点在于对题目的分析和想到解决方法。容易想到,可以转换成对二叉树的存储,原式是中序遍历,转换成后序遍历,输出节点即可。难点在于怎么处理表达式和括号的优先级问题。首先,对于括号(),(*、/)号和(+、-)号分别赋予3、2和1的优先级。遍历字符串,(1)如果遇到字母,则直接输出;(2)如果遇到运算符,判断其与当前栈顶符号的优先级: ——读入的新运算符优先级高就继续将运算符入栈; ——反之输出栈内的运算符,直到遇到...
2021-09-28 19:59:28 383
原创 【数据结构】NOJ007—表达式括号匹配
题目简述:解析:题目考察对栈的使用。基本思路检查每个输入的字符,如果是字母或者数字则丢掉不管,如果是括号:左括号就进栈,右括号就检查当前栈顶元素是否是对应的同级别左括号,是就将栈顶元素出栈丢掉,然后接着读入字符;不是就直接报错,说明匹配不成功,说明括号不匹配。读完字符串后,如果栈为空,说明匹配完成。重点:掌握对题目的分析和对栈的使用。知识点:(1)对栈的建立和使用;(2)对字符串的操作;(3)C++中参数传栈怎么传;代码:#include <iost.
2021-09-28 16:09:45 188
原创 【数据结构】NOJ006—LOCATE操作
问题简述:解析:重点:(1)创建双向循环链表;(2)双向链表中交换元素顺序;代码:#include <iostream>#include<stdio.h>#include<malloc.h>using namespace std;struct LinkNode{ char value; int freq; LinkNode *next,*pre;};void Create_d
2021-09-27 22:59:49 489
原创 【网络流量识别】【聚类】【一】模糊聚类FCS和GA—网络安全网络流量功能的模糊聚类
来自IEEE的文章:网络安全网络流量功能的模糊聚类。链接:安全|网络流量功能的模糊聚类IEEE 会议出版物|伊 · X普洛尔目录摘要第一节:introduction第二节:模糊C均值聚类法(FCM)2.1 网络流量数据集2.2 功能子集选择2.3 模糊C均值聚类2.4 使用模糊聚类进行入侵检测第三节:测试和结果总结摘要许多当前的入侵检测系统(IDS)无法识别未知或者变异的攻击模式,或无法在移动网络所需的动态环境中运行。因此,寻找合适的管理...
2021-09-27 16:18:02 904
原创 【数据结构】NOJ004—单链表的归并
问题简述:解析:两个单链表都是有序链表,跟上一道题一样,同时遍历,哪个小哪个归并到新链表,并且指到下一个,直到有一个遍历完后把剩下没遍历完的全部加入新链表即可。重点:重点是对题目的分析,时间复杂度为O( max( len1, len2 ) )。注意和上一题总结起来看。代码:#include <iostream>using namespace std;struct LinkNode{ int value; LinkNode *next;}
2021-09-26 20:37:47 774
原创 【数据结构】NOJ003—顺序表的删除
题目简述:解析:首先能想到的是,找出A和B中所有重复的元素,然后遍历C删去。但这种方法的时间复杂度是O(mn),即双层遍历A和B所有元素。结合题意,给出的A和B都是递增有序的表,则可以同时遍历,然后根据当前数据大小一起移动指针,这样时间复杂度只有O( max(m, n) )。重点:掌握遍历有序表的更快速的方法。代码:#include <iostream>using namespace std;struct LinkNode{ int value
2021-09-26 20:03:27 364
原创 【数据结构】NOJ002—线性表的就地逆置
题目简述:解析:(1)数组的就地逆置使用一个临时变量两两进行交换即可;(2)链表的就地逆置可以直接使用头插法建立链表;重点:(1)链表的头插法和尾插法;(2)链表的前插入和后插入方法(上篇博客);代码:其实此处逆置数组和链表时,可以在输入数字的时候直接输入一个令其等于a[n-i]就可以原地逆置数组,但我还是单独写出来逆置,并且将链表逆置也单独写了一个函数。#include <iostream>using namespace std;stru.
2021-09-26 17:20:46 1295
原创 【数据结构】NOJ001—顺序表的插入运算
题目简述:实现顺序表(包括数组和链表)的插入。解析:对于数组,插入主要包括指定下标位置插入,指定元素位置后插入,或者按照顺序插入。实现方式都一样,找到位置后,首先该元素及之后的元素都后移一位,然后将该元素插入进去即可。对于链表,插入一般指的是指定元素位置后面插入,需要注意链表不需要移位置,只需要插入一个节点即可。插入有已知前面元素和已知后面元素的插入方法。重点:链表中已知后面元素插入的精髓在于,首先使用新节点复制该节点的值,然后将该节点的值改成要插入的值,将新节点连到该节点之后即可。
2021-09-26 16:31:24 2963
原创 【python画图】画图中Matplotlib的使用
本篇写python中画图的操作,主要设计画图,坐标轴设置,多条线。目录1. 关于画图和Matplotlib2. 简单的使用3. figure对象4. legend图例5. 在图片上添加标注annotation1. 关于画图和MatplotlibMatplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,可以生成直线曲线图,直方图,功率谱,条形图,错误图,散点图等。2. 简单的使用主要有自变
2021-09-17 19:58:47 648
原创 【python实战】三:整数分解质因数
问题描述:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。解析:比较简单,利用递归或者循环可以解决。循环的话,在for循环里面实现即可;递归,每次找出质因数一个,然后改变n值,再次调用即可。此处提出一个问题:递归调用返回的是上层还是最终层?代码:n=int(input())def ReduceNum(n): print('n=%d' % n) for i in range(2,n+1): if n%i==0:
2021-09-16 19:45:16 2315
原创 【python编程】常用的方法和函数
本篇介绍一些Python中常用的方法和函数,主要是字符串,列表里面进行处理。目录1. str.split( str=' ', num) [n]2.re.findall ( pattern,string,flags=0 )3. 平方根函数math.sqrt()和四舍五入函数round()4. 排序函数list.sort()和sorted()5. set容器:自动删除重复数据6. 将n进制转化为十进制int( x, base=10 )7. 字典的get方法9. re....
2021-09-16 16:42:24 1230
原创 【python编程】-入门系列知识点总结
本篇博客写前三篇文章:入门系列1、2和3的知识点详细总结和介绍。1. 创建二维矩阵的方法主要有以下几种:l1=[[0 for i in range(3)] for j in range(3)]for i in range(3): for j in range(3): l1[i][j]=i*jprint(l1)l2=[[] for i in range(3)]for i in range(3): for j in range(3): l2
2021-09-16 16:13:36 75
原创 【python编程】入门系列1.0
问题1:编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000至3200。得到的数字应按逗号分隔的顺序打印在一行上。解决方案:
2021-09-16 16:10:09 4219
原创 【python编程】入门系列2.0
入门系列共三篇文章,每道题的知识点总结和细化都写明于本系列【python编程】的【入门系列知识点总结】这篇文章,可进行查看。问题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:本题目重点在于如何分析这个问题。设这个数为x,则x+100=n^2,x+100+168=m^2;得出m^2-n^2=168,即有m+n=i,m-n=j,i*j=168,得i和j里至少有一个是偶数;同时有m=(i+j)/2,n=(i-j)/2,i和j要么都是
2021-09-16 01:04:10 131
原创 【python实战】三:古典问题—兔子繁衍
问题描述:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?解析:这个题看似很简单,但要注意对问题的分析,才能得出解答。刚开始想的是用一个变量记录月数,不过这样就要为每个兔子给一个单独的记录,而且会很混乱,因为兔子的种类很多,刚出生的一个月的两个月的,就比较难以处理。建议如果分析问题思路不清晰的话可以先把数量变化写出来观察,会有惊喜的发现。一般来说,数量变化是很有规律的,可以直接找寻数字内蕴含的规
2021-09-16 00:03:17 4725
原创 【python实战】二:乒乓球比赛对手问题
问题描述:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。解析:这个题目看似简单,但其实需要仔细分析一下怎么做。怎么把给定的条件通过代码表达出来,并且得出唯一的结论。整体思想是,对于a, b和c三个球员,每个对应x, y和z其中的一个,那么在这所有的27种情况中,去掉a不和x比以及c不和x, z比这三种,以及防止a,b和c对应的同一个对手的情况即可。去除掉
2021-09-15 23:54:41 2514 1
原创 【python实战】一:递归调用打印
问题描述:利用递归函数调用方式,将所输入的n个字符,以相反顺序打印出来。解析:题目要求使用递归调用,那么一般i形式必然是:def output(n): if n==0: return output(n-1)这样才能实现递归调用。代码:def output(n,s): if n==0: return print(s[n-1]) output(n-1,s)s=input()len1=len(s)ou
2021-09-15 19:57:43 1093
原创 【python编程】入门系列3.0
入门系列共三篇文章,每道题的知识点总结和细化都写明于本系列【python编程】的【入门系列知识点总结】这篇文章,可进行查看。问题1:求一个3*3矩阵主对角线元素之和。知识点:关于 if __name__== '__main__' 的使用和意义,涉及到两种模块执行的区别,以及判断条件是否成立的问题。以及创建二维矩阵的三种方法。代码: if __name__ == '__main__': a = [] sum = 0.0 for i in range(3):
2021-09-15 19:24:36 111
原创 【python编程】-python生成随机数
python中生成随机数主要使用random模块和numpy库中的random函数。前者主要用于生成随机数和实现序列中随机数和随机数列的挑选,后者用来生成a*b维的随机矩阵。一、random模块random模块中将近有7个函数都是可以用来生成随机数,列举如下:1. random.random()功能:随机生成一个[0, 1)的浮点数示例:import randomnumber = random.random()print(number)print('%.2f' % num
2021-09-15 16:55:47 7659
原创 【python编程】基础知识7—内置函数
归结为以下:abs(x) 求绝对值,参数可以是整数或者浮点数,也可以是复数,复数返回模 all ( iterable ) 判断可迭代参数iterable中所有元素是否都为true,是返回true,否则返回false。其中,iterable为元组或者列表,元素除0,空,None和false都算true any ( iterable ) 跟all对应,判断可迭代参数iterable中所有元素是否都为false,是返回false,如果有一个为true则返回true。 bin(x)
2021-09-08 17:16:32 86
原创 【python编程】基础知识6—文件I/O
本篇讲述I/O函数和文件操作。一、读取键盘输入如我们所见,print是打印到屏幕,但有的时候我们需要读取输入数据才进一步执行语句,那么怎么从界面读取到键盘输入呢?python提供内置函数从标准输入读取一行文本:input()。注意,此时返回的是字符串,并且去掉结尾的换行符。a = input("input1:")print(a)print(type(a))b = input("input2:")print(b)print(type(b))示例:input1:1212&l
2021-09-08 16:15:21 76
原创 【python编程】基础知识5—函数
这一篇介绍函数。一、函数知识概述1. 关于函数(1)函数是组织好的,可重复使用的实现复杂功能的代码块;(2)python提供了很多内建函数,比如print,但我们经常需要自己写函数来实现自己想要的功能,这叫做用户自定义函数;(3)说一下关于C++和python文件函数和代码执行的差别。二者的每个cpp文件和.py文件都可以定义多个功能函数,但cpp文件可执行的内容都在main函数里,所以main函数调用了哪些函数就执行哪些;python的.py文件文件没有main函数,所以它的执行是逐行
2021-09-07 11:21:51 567
原创 【python编程】基础知识3—变量类型详解:列表,字符串,元组和字典
本篇介绍列表,字符串,元组和字典中的详细操作,关于遍历,扩展,增删改查等操作。一、字符串字符串string,由数字,字母和特殊字符组成,可用引号(单引号或者双引号)括起来表示。1. 访问字符串中的值通过下标访问,第一个由0开始,最后一个从-1开始,也可以通过方括号内区间访问:var1 = 'Hello World!'var2 = "Python Runoob"print("var1[0]: ", var1[0])print("var2[1:5]: ", var2[1:5])pr
2021-09-06 23:42:08 269
原创 【python编程】基础知识2—语句:循环,条件,break,pass,continue
本篇介绍python语言中所有的语句,判断语句if,循环语句for和while,以及用到的break,continue和pass等语句。首先说一下一个管用C++(但是一点都不精通)的憨批对于python编程的看法。C++的语句大家都知道,无论条件还是循环语句,都在后面跟一对大括号 { },大括号里就是该条件下执行的语句,但python没有大括号,其是以对其的方式来标志哪些子句是哪个条件下的执行体,这样就使得语句被迫结构很整齐,感觉这是很好的一点。还有一点就是无论循环还是条件语句,判断条件后面都有一个冒号
2021-09-03 14:58:51 639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人