学习笔记
文章平均质量分 93
TimDyh
这个作者很懒,什么都没留下…
展开
-
堆——实现及应用
概念完全二叉树:若设二叉树的深度为 h,除第 h 层外,其它各层(1~h-1)的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边。用数组表示(下标从 1 开始),则有:arr[i] 的左孩子是 arr[2*i],右孩子是 arr[2*i+1];arr[i] 的父节点是 arr[i/2]。大顶堆:每个结点的值都大于或等于其左右孩子结点的值。小顶堆:每个结点的值都小于或等于其左右孩子结点的值。操作注:本节以小顶堆为例,记堆的大小为 n。首先定义一个堆。class He原创 2020-09-17 01:29:18 · 1041 阅读 · 0 评论 -
网络嗅探与防范实验
实验工具与环境配置服务器操作系统:macOS Catalina 10.15.2客户端操作系统:macOS High Sierra 10.13.6FTP 服务器:QuickFTP Server 1.0.4FTP 客户端:ForkLift 2.6.6浏览器:Chrome 83.0.4103.61Sniffer 工具:Wireshark 3.2.3邮箱登录嗅探我们知道,现在绝大多数网页访问都是基于安全的 HTTPS 协议,本实验选择的 QQ 邮箱也不例外。不同于 HTTP 协议,HTTPS 使原创 2020-07-19 13:33:48 · 956 阅读 · 0 评论 -
虚拟病毒分析与清除方法
实验工具与环境配置虚拟机软件:VMware Fusion 11.5.5操作系统:Windows XP虚拟病毒:VirtualVirus进程管理器:IceSword运行虚拟病毒在 Windows XP 虚拟机中,运行 VirtualVirus 可执行文件。从现象上看,病毒会导致每隔一段时间就弹出一个对话框,不断累积。事实上,触发虚拟病毒之后,除了开启本身进程(VirtualVirus)之外,还会把自身复制到 C:\WINDOWS\system32 和 C:\WINDOWS\ 目录,并分别原创 2020-07-19 12:14:33 · 1327 阅读 · 1 评论 -
Python 实现图像快速傅里叶变换和离散余弦变换
图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强、去噪、压缩编码等众多领域。本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的变换效果。1. 傅里叶变换实验原理对一幅图像进行离散傅里叶变换(DFT),可以得到图像信号的傅里叶频谱。二维 DFT 的变换及逆变换公式如下:DFT 尽管解决了频域离散化的问题,但运算量太大。从公式中可以看到,有两个嵌套的求和符号,显然直接计算的复杂度为 O(n2)O(n^2)O(n2) 。为了加快傅原创 2020-07-19 10:56:33 · 1646 阅读 · 1 评论 -
图像灰度直方图均衡和线性变换
灰度变换是指根据某种目标条件,按一定变换关系逐点改变源图像中每一个像素灰度值的方法,目的是为了改善画质,使图像的显示效果更加清晰。图像的灰度变换处理是图像增强处理技术中的一种非常基础、直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分。本文通过实现直方图均衡和线性变换分别对图像进行处理,研究其原理及效果。1. 直方图均衡算法流程统计各灰度级的像素点个数,并计算从 0 到 255 的累积值。根据频率的累积分布计算得到各灰度级变换后的灰度级。对原图像的每个像素点进行映射变原创 2020-07-19 10:20:00 · 3732 阅读 · 0 评论 -
HTTP 与 HTTPS 协议分析
万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传输协议 HTTP(HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。安全套接字层 SSL(Secure Socket Layer) 和运输层安全 TLS(Transport Layer Security)是现在广泛使用的两个安全协议,作用在端系统应用层的 HTTP 和运输层之间,在 TCP 之上建立起一个安全通道,为通过 TCP 传输的应用层数据提供安全保障。超原创 2020-07-15 23:15:25 · 645 阅读 · 0 评论 -
高通滤波法、微分算子法、神经网络方法实现图像边缘检测
边缘检测(Edge detection)是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。本文使用多种不同的方法,实现对 Lena 肖像的边缘检测,研究分析各算法的效果和优缺点。所涉及的方法如下:高通滤波法理想高通滤波器Butterworth 高通滤波器指数高通滤波器微分算子法Roberts 算子Sobel 算子Laplacian 算子Canny 算子神经网络方法HED 算法高通滤波法图像中的边缘或线条等细节部分与图像频原创 2020-05-15 23:41:34 · 3969 阅读 · 0 评论 -
Linux 上搭建 Snort+BASE 入侵检测系统
配置实验环境由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验。服务器配置如下:1 核 - 2GB 内存 - 40GB 系统盘操作系统:Ubuntu 18.04修改 Ubuntu 源查看 /etc/apt/sources.list 发现已经配置好了阿里源,故不再做修改。如有需要,可自行改为阿里源或清华源,提高安装包下载速度。...原创 2020-05-04 22:20:53 · 2936 阅读 · 3 评论 -
BUAA-OO-2019 第四单元总结
UML作业架构设计这一单元的作业本质上是对数据之间的联系进行解析,并重新建立数据结构以方便查询的工作,这就要求我们了解各种UmlElement的结构以及他们之间的关系是如何组织的。第十三次作业在这次作业的架构上,首先是建立了MyUmlInteraction类,实现UmlInteraction接口,以完成各种查询方法。由于输入数据不保证顺序性,所以不能边读边处理,而是要先将各种元素分类保存在...原创 2019-08-20 10:16:12 · 203 阅读 · 0 评论 -
BUAA-OO-2019 第三单元总结
JML语言理论基础梳理及工具链注释结构JML以javadoc注释的方式来表示规格,每行都以@起头。行注释://@annotation块注释:/* @ annotation @*/JML表达式JML的表达式是对Java表达式的扩展,新增了一些操作符和原子表达式。原子表达式\result表达式:表示一个非 void 类型的方法执行所获得的结果,即方法执行后的返回值。\resul...原创 2019-08-20 10:15:23 · 142 阅读 · 0 评论 -
BUAA-OO-2019 第二单元总结
第五次作业本次作业,需要完成的任务为单部多线程傻瓜调度(FAFS)电梯的模拟。设计策略先来先服务的单电梯是一个标准的**"生产者-消费者"模型**。虽然在本次作业中调度器似乎是不必要的,但为了更好地应用"生产者-消费者"模型,并方便下一次作业的扩展,还是应该保留了调度器的概念,将其作为"托盘"来存放还未服务的请求。显然,读取输入并解析为请求就成为了生产者,而电梯就成为了消费者,而在本次作业...原创 2019-08-20 10:14:12 · 262 阅读 · 0 评论 -
BUAA-OO-2019 第一单元总结
第一次作业第一次作业需要完成的任务为简单多项式导函数的求解。思路因为仅仅是简单多项式的求导,所以求导本身没有什么可说的,直接套用幂函数的求导公式就行了,主要的精力是花在了正则表达式上。这里推荐两个网站:https://github.com/ziishaned/learn-regexhttps://regex101.com前者可以用来学习正则表达式的语法,后者则提供实时的正则表达式匹配,...原创 2019-08-20 10:13:06 · 517 阅读 · 0 评论