- 博客(68)
- 收藏
- 关注
原创 Operating System Not Found解决方案
在左上角菜单栏中找到目标系统邮件打开上图中的设置,在设备中找到CD/DVD(SATA)选项,一般出现operating system就是连接那里使用了使用物理驱动器,需要选择使用ISO镜像,然后点击浏览,找到你的目标ISO镜像文件的绝对路径。找到之后,在设备状态中将已连接和启动时两个选项都勾上问题就可以迎刃而解。
2023-06-02 02:38:58
8781
5
原创 WB_BF项目问题说明以及探究
我就现在WB_BF项目群里面提到的“根据测试脚本运行日志来看,bf运行了约31小时后又开始出现了api调用返回nginx的错误信息。之后,bf客户端也无法打开。”问题做一下说明,今天早上我在机器上复现了这一问题。针对于api调用会返回nginx的错误信息以及bf客户端无法打开的情况。
2023-05-08 19:47:43
836
原创 计算机视觉入门 - MacOS搭建Python的OpenCV环境并在VScode上使用的详细步骤(完整版)
安装完成之后,正常情况下,VScode应该是可以自动识别出你刚刚安装的opencv的,我们来写一个程序测试一下刚才安装的opencv库,有可能你没有学习过opencv,这里我会对这些语句以及一些函数的功能做相关的解释。如图检测到我的opencv版本为4.60,且下面的glog等依赖包均已安装完成,如果你输入完命令之后下面的这些插件有一些叉号,你可以使用这条命令对依赖包进行独立的安装;img是我定义的一个类型值,cv.imread就是调用opencv里面的函数,后面的是我要读取的图像路径。
2023-03-29 00:33:15
5949
4
原创 无线网络渗透测试系列学习(三) - [信息收集] 网络扫描基础和对三种协议(ICMP/TCP/UDP)的简单学习
在上一篇文章中我们对一些常见的端口进行了了解,并对在Windows下的VMware虚拟中如何搭建Metasploit 2靶机的过程进行了讲述,从这篇文章开始我们开始着重对无线网络渗透测试之前的信息收集部分进行介绍和学习。在网络技术中,通过对单个IP地址的扫描,我们可以对网络的端口开放情况有一个基本的了解;
2023-03-28 23:23:02
953
原创 解决VScode报错:“检测到 #include 错误,请更新 includePath”的详细步骤(完整版)
昨天重装了一下系统,早上搞代码的时候出现了个问题,VScode对我在程序中引入的头文件无法识别并且报错,在网上搜了一下资料,在这里记录一下解决此问题的步骤,以便后期回顾。
2023-03-25 09:47:05
53401
19
原创 无线网络渗透测试系列学习(二) - 在VMware中搭建Metasploit靶机的详细步骤以及端口的简单了解
这篇文章主要介绍了在VMware中搭建Metasploit 2靶机的过程,和对计算机网络中端口概念的简单了解,罗列常用端口,以便后期回顾,下一篇文章将会讲述网络扫描的基础技术。
2023-03-10 17:40:07
3331
1
原创 Linux系列学习(三) - 进程和库文件
库文件时计算机上的一类文件,提供给使用者一些开箱即用的变量。函数或类,库文件分为静态库和动态库,静态库和动态库的区别体现在程序的链接阶段。一般来说,Windows的静态库文件扩展名时.lib,动态库文件扩展名时dll(Dynamic-Link Librarires),举一个例子:我们在早期的Windows版本中玩单机游戏时,有时我们会遇到一些比较麻烦的问题,例如在启动游戏时操作系统提示你现在缺少了某个dll文件。
2023-03-05 18:16:10
908
原创 Windows安装VMware虚拟机+配置Ubuntu的详细步骤以及解决配置过程中报错的问题(完整版)
在学习计算机的过程中,Linux操作系统都是我们绕不开的一环,因为我们习惯了在Windows操作系统上面写文章,处理工程文件,刚开始对Linux操作系统是不了解的,我们可以通过在Windows系统上安装VMware虚拟机从而达到在Windows操作系统上使用Linux操作系统的目的,这篇文章会讲述在Windows电脑上如何安装VMware虚拟机并在虚拟机上配置Linux操作系统(发行版本为Ubuntu)的详细步骤,以供大家参考。
2023-02-17 18:51:14
4798
1
原创 MacOS配置Python开发环境和Pycharm的详细步骤(完整版)
与Unix的进化分支Linux的众多发行版本或MacOS都有自己的软件包管理工具(例如Ubuntu的apt软件包管理工具,MacOS的Homebrew)一样,Python也有自己的软件包管理工具,名叫pip。网上对于pip的定义为:pip是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
2023-02-06 11:07:02
50763
8
原创 软件质量保证与软件测试复习文档
软件没有实现产品的说明书所描述的功能软件实现了产品说明书描述不应有的功能软件执行了产品说明书没讲的操作软件没有实现说明书没讲但应该实现的功能从软件测试员的角度看,软件难以理解、不易使用、运行缓慢或者最终认为用户不对。既有底层测试,又有高度测试,底层单元测试,高层系统测试将开发阶段清楚的表现出来,便于控制开发的过程,当所有阶段结束时,软件开发就结束了。容易让人误解为测试是在开发完成之后的一个阶段。
2023-01-08 14:54:00
429
原创 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究
在我们的生活中涌入了WLAN技术,现今,各大高校,单位,商场,酒店,基本上已经实现了WIFI的全覆盖,但是WIFI网络在使我们的生活变得越来越方便的同时,问题也就接踵而至,钓鱼WIFI、用户资料泄漏等新的名词也在不断的出现,WIFI全称Wireless Fidelity 是一种允许设备接入无线局域网的技术,是目前阶段应用最为广泛的一种网络技术,但同时因为它的开放性使得WIFI也存在很多安全问题。[16]吕俊霖. 基于VirtualBox的网络渗透测试平台的设计与实现[D].华南农业大学,2016.
2023-01-03 10:46:39
2890
1
原创 数据结构系列学习(九) - 循环队列(Circular_Queue)
循环队列是一种经典的抽象数据类型,实现循环队列之前我们首先要清楚循环队列和普通队列之间的区别以及循环队列的原理,循环队列相较于普通的队列能较大的提高空间的利用率,但是循环队列也有一个非常明显的缺点,就是循环队列是无法扩容的,所以当我们要使用循环队列的时候必须要对数据量有一个较为精准的估算,这样才能发挥出循环队列的优势所在。
2022-11-19 13:48:04
1459
原创 数据结构系列学习(八) - 链式队列(Chain_Queue)
在之前的文章中,我们对链栈进行了了解和学习,并使用代码对链栈的功能函数进行了实现,并在测试中成功的执行了这些操作。这篇文章中,我们将对另外一种抽象数据类型——队列进行了解和学习,并对队列的其中一种表现形式——链式队列进行实现。
2022-11-14 00:21:11
1013
原创 数据结构系列学习(六) - 顺序栈(Stack)
顺序栈相对来说比较简单,其实也就是阉割版的顺序表,因为栈这种数据结构秉承的原则就是先进后出,所以我们对入栈操作就是顺序表中的尾插操作,我们的出栈操作就是顺序表中的尾删操作。只需要将顺序表中的结构体定义进行修改,然后对其他函数做相应的小改动即可,总体难度偏低。
2022-11-11 17:52:09
2308
原创 数据结构系列学习(五) - 双向链表(Double_Linked_List)
在我们之前学习的单链表或者单向循环链表中,链表中的每一个节点保存的都是它的后继节点的地址,而我们今天将要介绍和学习的双向链表却不一样,双向链表中的节点既能保存它的后继节点的地址,也能保存它的前驱节点的地址。在严蔚敏的《数据结构(C语言版)》中是这样说的,链式存储结构中只有一个指示直接后继的指针域,由此,从某个节点出发只能顺指针往后寻查其他节点。双向链表和单链表不同,双向链表每一个节点既保存后继节点的地址,又保存前驱节点的地址。按位置删函数(Delete_pos);头删函数(Delete_head);
2022-11-09 22:28:05
2676
原创 数据结构系列学习(四) - 单向循环链表(Circular Linked List)
数据结构学习目录:数据结构系列学习(一) - An Introduction to Data Structure数据结构系列学习(二) - 顺序表(Contiguous_List) 数据结构系列学习(三) - 单链表(Linked_List)在上一篇文章中我们学习并使用C语言对不带头节点的单链表进行了实现,在这篇文章中我们将对另一种的链式存储结构——循环链表中的单向循环链表进行学习并使用代码实现。作为链式存储的另一种存储结构——循环链表,我们首先应该明确的是,单向循环链表和普通的单链表有什么区别?我们用两张
2022-11-07 23:05:37
3958
原创 数据结构系列学习(三) - 单链表(Linked_List)
在之前我们系统的学习了数据结构中基础的概念、时间复杂度,并且用代码实现了顺序表(Contiguous_List),在对顺序表的学习和实现的文章总结中,我们提到了顺序表的优势在于可以直接访问顺序表中任意一个元素,但是劣势在于如果再头部或者中间位置进行插入或者删除操作,移动元素所产生时空开销较大。
2022-11-02 12:34:47
2762
1
原创 Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
我们知道无论是在Windows、MacOS、Linux哪一个系统中,文件都是一个基于外存的概念,文件通常存储在磁盘或者U盘中,在Windows系统中,文件一般由两部分构成——文件名和文件类型。在Linux中,文件又被分为不同的文件属性,他们分别为:r(read)读取:对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。w(write)写入:对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
2022-10-28 16:59:46
4430
原创 数据结构系列学习(二) - 顺序表(Contiguous_List)
在计算机内部存储一张线性表(线性结构的数表),最为方便简单的就是用一组连续的地址的内存单元来存储整张线性表。这种存储结构称为顺序存储结构。这种存储结构下的线性表就称为顺序表。一张顺序表包括这几个特征:有一个唯一的表名来标识该顺序表;内存单元连续存储,也就是说一张顺序表必须要占据一块连续的内存空间;数据顺序存放,元素之间有先后关系;定义一张顺序表也就是在内存中开辟一段连续的存储空间,同时我们定义的顺序表也应该实现增删查改这四个功能。
2022-10-23 19:43:45
4421
原创 MacOS配置OpenMP多线程并行程序开发环境步骤(完整版)
近期入了并行程序开发的坑,今天心血来潮在图书馆借了几本关于并行程序开发的书并且了解到了OpenMP,最终还是决定对这一个知识领域进军,由于我是苹果电脑,网上的教程大多数要么是基于Windows端上的并行程序开发环境搭建,要么是基于MacOS端上Xcode的OpenMP开发环境搭建。由于我自己习惯了Clion的编译环境,所以打算综合网上的文章,写一篇关于如何在苹果电脑上Clion进行OpenMP环境搭建的教程,里面还是有部分详细的知识没有透彻理解,后续我会持续跟进。
2022-10-20 21:38:54
5482
1
原创 算法 - 递归实现汉诺塔(The Tower of Hanoi)
今天接触到了一个非常有意思的游戏,名字叫做汉诺塔(Tower of Hanoi),小时候没有玩过这个益智游戏,所以今天利用代码把这个益智游戏实现一下。(Tower of Hanoi),又称,是一个源于古老传说的。创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
2022-10-19 13:54:55
3827
原创 Linux系列学习 (一) - Linux的系统安装(MacOS)、文件系统、基本命令
前面介绍了5种Linux系统的不同版本,因为在我大三下学期对Linux进行学习与在学校机房进行实验时我使用的是CentOS,我对CentOS相对比较熟悉,在这里我选择CentOS版本的Linux系统进行安装。这是Linux的第一节课,旨在了解Linux系统和成功安装CentOS版本的Linux系统,了解Linux的文件系统,简单学习和使用一些基本的命令,需要清楚的是,Linux的学习是至关重要的,Linux具有相对较高的安全性,也是企业级开发不可缺少的一环。
2022-10-17 14:18:41
3671
1
原创 C语言 - 删除数组中的指定元素(Delete)
如果此时数组里面填充的元素分别是1,2,3,4,5,6,7,8,8,9,那么当i下标向前迁移一位后,重新指向8就再次进入循环,输出结果就为1,2,3,4,5,6,7,9,0,0,i下标向前迁移一位的作用就是对原先位置的元素重新进行是否符合条件的判断。这个程序其实代码不难写,主要在过程的剖析和理解上,其实删除这种操作在程序中理论是不能实现的(暂时),我们就可以通过覆盖的方式来达到删除的目的。
2022-10-03 22:50:54
42984
1
原创 MacOS配置Clion的Qt环境的详细步骤(完整版)
Qt是一门前端语言,因为在学习C语言的过程中写过五子棋和ATM机项目,我们整个班大部分的学生使用的都是Windows系统的电脑,而且在项目的核心代码完成之后通常需要我们使用一个基于Visual Studio里面的图形库EasyX来进行项目的图形化界面(GUI)的设计。中已经详细介绍了关于Clion的C/C++语言编程环境搭建、homebrew插件的安装、通过homebrew来安装gcc编译器、以及如何解决安装过程中的终端报错问题。至此,我们已经完成了在MacOS基于Clion编译器Qt环境的搭建。
2022-09-29 12:29:18
6546
6
原创 算法 - 初识动态规划(Dynamic Programming)
此时分析过程我们已经基本清楚,现在把分析出来的规律写成方程:注:OPT(i - 2)和ar[i]中的两个i不一样!前者表示的是第几个元素,后者表示的是数组中元素的下标。
2022-09-24 11:46:19
1284
原创 MacOS 配置Clion的C/C++环境的详细步骤及mac终端报错问题解决(完整版)
今天在电脑上成功配置了Clion的C/C++编译环境,在这里写一下详细步骤,以便解决以后的重新配置问题。
2022-09-21 19:12:47
27252
20
原创 算法 - 计数排序(Counting_Sort)
在开始写计数排序的代码之前,我们先对计数排序的定义、算法思想、排序过程做一个简单的了解和梳理。计数排序(Counting_Sort)是一个非基于比较形式的排序算法,它也是一种以牺牲空间换取时间的过程。计数排序利用数组的有序性将元素依次存储进对应下标的数组空间中,然后再依次输出。计数排序(Counting_Sort)是一种非基于比较形式的算法,在之前所实现过的冒泡排序、选择排序、插入排序等排序算法都是基于比较的算法,而计数排序则是利用了数组天然的有序性对数据进行归类划分,然后再对临时数组空间进行遍历并输出。
2022-09-17 18:30:59
1731
原创 C语言 - 四种方法解决杨辉三角问题(数学规律、一维数组、二维数组、递归)
杨辉三角是一个经典的数学问题,也是我在学习C语言过程中结合条件判断语句和循环语句的一个经典题目,在之前系统的学习二维数组时曾经使用二维数组对这个程序进行过编写,但经过思考我发现这个题目有多种不同的方法,这篇文章会对解决杨辉三角问题的几种不同方法进行总结,并讨论哪一种方法的效率最高,空间占用最小。
2022-09-09 12:04:32
9289
2
原创 C语言-多层for循环详解
在之前写过的程序里,循环这个东西的使用频率非常高,无论我们是实现基础C语言题目,例如打印一维数组、杨辉三角、打印九九乘法表还是实现种类繁多且适用场景不同的排序算法,例如,冒泡排序,选择排序,插入排序,希尔排序,这些程序都像一个树状的结构,我们先要梳理清楚程序的原理,然后再将原理转化为机器语言,这些程序的主干部分就是循环,然后再在循环里分出枝干并进行功能的完善,最终完成整个程序。在这篇文章里,我将对for循环进行详细的分析。
2022-09-05 17:30:55
10051
3
原创 C++ - 8月31日 - 两种方法解决约瑟夫环问题(数组、递归)
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3,...n分别表示)围坐在一张圆桌周围,从编号为k的人开始报数,数到m的那个人出圈,他的下一个人又从1开始报数,数到m的那个人又出圈;按照这个规律一直重复下去,知道剩余最后一个胜利者。..................
2022-08-30 22:28:00
7300
2
原创 数据结构- 顺序表的实现
在计算机内部存储一张线性表(线性结构的数表),最为方便简单的就是用一组连续的地址的内存单元来存储整张线性表。这种存储结构称为顺序存储结构。这种存储结构下的线性表就称为顺序表。一张顺序表包括这几个特征:有一个唯一的表名来标识该顺序表;内存单元连续存储,也就是说一张顺序表必须要占据一块连续的内存空间;数据顺序存放,元素之间有先后关系;定义一张顺序表也就是在内存中开辟一段连续的存储空间,同时我们定义的顺序表也应该实现增删查改这四个功能。......
2022-08-29 11:48:40
1003
原创 算法 - 鸡尾酒排序(CocktailShaker_sort)
鸡尾酒排序就是双向冒泡排序,也叫搅拌排序、涟漪排序。我们知道冒泡排序本质上是利用下标对序列中不符合前小后大的两个元素进行交换并循环此过程直到将序列中所有的元素排序完成,在整个排序的过程中,冒泡排序的每一次过程都是从下标为0的第一个元素开始进行排序操作,那么如果我们像折半查找那样定义左边界和右边界,每次排序都在左边界和右边界中轮流进行,结束每次的排序过程后左边界和右边界均缩进一位,直到整个序列排序完成,这样是不是就比单向的冒泡排序的效率提高了很多。......
2022-08-22 20:13:42
2173
2
原创 C语言-8月5日-结构体和变量
但是结构体却是不一样的,虽然结构也是一些值的集合,这些值都称为结构的成员,一个结构里面的成员可能有着不一样的数据类型,例如我们要创建一个学生信息的结构体,里面的成员就包括学生的姓名,年龄,身高,性别,考试成绩。与数组不同,结构体中的每个成员都有自己的名字,结构体中的成员也是通过名字进行访问的。之前接触到的数据类型大多都是基本数据类型,例如int类型、double类型,而结构体是一种自定义数据类型,他可以根据我们的需要来让我们自己设计,一个结构体中可以包含多种数据类型。..................
2022-08-18 23:10:51
1066
原创 Algorithm - Heap_sort
在严蔚敏的《数据结构(C语言版)》一书中对数据结构是这样定义的:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素之间的关系称为结构(Structure)。注意,这里的堆不是计算机内存结构中的堆区,与堆区(Heap Area)没有关系!........................
2022-08-10 15:44:00
1290
原创 算法 - 归并排序(Merge_sort)
在写归并排序的代码之前,我们先对归并排序的定义和排序原理进行梳理。是一类不同的排序方法。“归并”的含义是将两个或者两个以上的有序表组合成一个新的有序表。利用归并的思想容易实现排序,且这种实现方法已为读者熟悉,无论是顺序存储结构还是链表存储结构,都可以在O(m+n)的时间量级上实现。归并排序也是一个与插入排序、交换排序、选择排序不同的一类排序方法。归并排序是一个基于分治法思想的算法,拿两个已经有序的序列重新组合成一个有序的序列。..................
2022-08-09 19:40:57
8496
原创 算法 - 侏儒(地精)排序(Gnome_sort)
Gnome_sort,是一个和插入排序算法类似,但是过程又和冒泡排序十分相像的算法,这个算法和插入排序相似在两者都是将元素移动到合适的位置,并通过一系列交换完成。我觉得这个算法厉害在整个算法结构只有一层循环,在大部分数据都是有序的情况下,是可以在最大限度减少交换的回合数的。..................
2022-08-08 01:09:22
1208
原创 算法 - 快速排序(Quick_sort)
快速排序(Quick_sort)的特点就是:序列越乱越快,越有序越慢。最优情况:O(nlogn)每趟排序数据元素都能被平均分配成两个部分,形成一个完美的二叉树。最坏情况:O()也就是原序列相对最有序的情况,形成的树只有左子树和右子树,比较次数为:(n - 1) + (n - 2) + (n - 3)+……+ 1 = n * (n - 1)/2空间复杂度:O(1)..................
2022-08-05 00:50:35
9344
1
原创 C语言-7月31日-指针的总结以及typedef关键字
可以知道,这个二维数组三行四列,那么我们如何定义一个指针,使它指向这个二维数组?指向二维数组共有三种典型的情况,分别是指针指向二维数组的一行;指针指向二维数组中的一个元素;指针指向整个二维数组;.....................
2022-08-02 22:12:32
753
原创 C语言-8月1日-递归与动态内存管理
递归所产生的代价大,而函数执行所需的空间是在栈区进行开辟的(.stack),Windows的默认栈区大小是1M,所以递归也是危险的,如果在没有手动对计算机栈区空间进行扩充的前提下,使用递归实现一个所需区域极其大的功能,有可能会让程序崩溃。从斐波那契序列中我们可以看出,要通过递归的方式解决问题时,我们首先要做的就是分析问题,摸清楚问题的规律,将一个大的问题分解为小的问题,例如斐波那契序列我们直接把它分解为从第一个数开始,摸清楚规律后分解问题,问题规模不断缩小,最后再通过反方向将问题合并,最终解决问题。....
2022-08-02 16:47:06
2889
原创 【剑指offer系列】面试题日记(前期题)
在第二行中,我们先观察有没有小括号和中括号,因为他们的优先级均高于“*”,第二行中有中括号,首先明确他是一个数组,“*”在前面,所以我们可以推断这是一个存放指针变量的数组,只要是指针,无论是什么类型,它的大小始终都是4字节,a中存放了三个指针,所以大小是12。在第三行中,没有小括号的存在,可以发现这是一个二维数组,二维数组中存放的是(int**)类型的值,因为存放的是指针,所以大小为4,所以大小为3*4*4=48。第五问不使用上述四种方法,其他的方法?.....................
2022-07-31 09:32:06
674
循环队列(Circular-Queue)
2022-11-28
链栈(Chain-Stack)
2022-11-28
顺序栈(Sq-Stack)
2022-11-28
双向链表(Double-Linked-List)
2022-11-28
单向循环链表(Circular-Linked-list)
2022-11-28
单链表(Linked-List)
2022-11-28
数据结构 - 顺序表(Contiguous-List)
2022-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅