自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 资源 (12)
  • 收藏
  • 关注

原创 计算机编程语言是一套什么系统

计算机编程语言是一套什么系统写数学题目要写出计算过程,写计算过程的目的是为了辅助思考,所以计算过程也就是思考过程,而整个思考过程可以称为思维。计算机是一台用于计算的机器,计算过程是由计算机编程语言表示出来的,所以编写某种计算机语言表示出计算过程的行为就是编写程序,简称编程。程序一词拆开来看,就是计算过程的序列。所以,**计算机编程语言是思维的表示系统。**汇编是一种低级的编程语言,但是却提供了一个观测手段,即从机器角度去思考问题的思维方式。一套好的表示系统可以更好的表示出计算要素以及计算要素与计算要

2021-07-24 11:38:49 363

原创 C++面向对象的内存布局(一)

文章目录类C++中可以使用struct、class来定义一个类变量名规范参考类实例化成为了对象,对象的内存空间由成员变量决定对象对象的内存布局代码段(代码区)数据段(全局区)栈空间堆空间thisthis指针必须用->,不能用. (点左边只能是对象),可省略语法上默认用了this类C++中可以使用struct、class来定义一个类struct和class的区别struct的默认成员权限是publicclass的默认成员权限是private实际开发中,用class表示类比较多变量名规范参考

2021-07-23 14:24:59 321

原创 C++静态成员

静态成员:被static修饰的成员变量\函数可以通过对象(对象.静态成员)、对象指针(对象指针->静态成员)、类访问(类名::静态成员)静态成员变量存储在数据段(全局区,类似于全局变量),整个程序运行过程中只有一份内存对比全局变量,它可以设定访问权限(public、protected、private),达到局部共享的目的必须初始化,必须在类外面初始化,初始化时不能带static,如果类的声明(.h文件)和实现分离(在实现.cpp中初始化)就算没有创建对象,静态变量依然存在,因为已经初始

2021-07-23 14:24:28 631

原创 数据结构与算法之贪心法(Greedy)

贪心策略◼ 贪心策略,也称为贪婪策略每一步都采取当前状态下最优的选择(局部最优解),从而希望推导出全局最优解◼ 贪心的应用哈夫曼树最小生成树算法:Prim、Kruskal最短路径算法:Dijkstra练习1 – 最优装载问题(加勒比海盗)问题描述:在北美洲东南部,有一片神秘的海域,是海盗最活跃的加勒比海有一天,海盗们截获了一艘装满各种各样古董的货船,每一件古董都价值连城,一旦打碎就失去了它的价值海盗船的载重量为 W,每件古董的重量为 Xi,海盗们该如何把尽可能多数量的古董装上海

2021-07-23 14:24:00 316

原创 数据结构与算法之回溯法

Back Tracking◼ 回溯可以理解为:通过选择不同的岔路口来通往目的地(找到想要的结果)每一步都选择一条路出发,能进则进,不能进则退回上一步(回溯),换一条路再试◼ 树、图的深度优先搜索(DFS)、八皇后、走迷宫都是典型的回溯应用回溯很适合使用递归四皇后问题八皇后问题◼ 八皇后问题是一个古老而著名的问题在8x8格的国际象棋上摆放八个皇后,使其不能互相攻击:任意两个皇后都不能处于同一行、同一列、同一斜线上请问有多少种摆法?解决思路思路一:暴力(这里是组合,不是排列,不

2021-07-23 14:22:17 278

原创 C语言实现平衡二叉树

定义结构体#define Type inttypedef struct AVLNode { Type data; AVLNode* leftchild; AVLNode* rightchild; int bf;//平衡因子}AVLNode;typedef struct AVLTree { AVLNode* root;}AVLTree;插入结点void InitAVLTree(AVLTree* avl) { avl->root = NULL;}bool Insert(

2021-07-23 14:19:41 335

原创 红黑树代码实现

添加添加的所有情况LL(RR)两种若新添加的元素的叔父节点不是红色的情况LR(RL)两种上溢(四种)(RR)(LR)(RL)

2021-07-23 14:18:16 250 1

原创 线性表之栈

栈的定义栈是只允许一端进行操作的线性表。push:入栈,往栈中添加元素,pop:出栈,只能移除栈顶元素这里的栈是数据结构,栈空间是个栈的空间栈的接口设计(基本操作)所以栈最常用的操作就是在栈顶,因为只有在栈顶才能添加删除。栈的顺序存储结构让动态数组变成栈类的一部分。若采用继承的方式,对外接口就多了,那栈就会调用ArrayList其他方法,比如在指定位置添加元素,这样不符合栈的特性。public class Stack <E> { private List<E&gt

2021-07-23 14:17:55 224

原创 线性表的链式表示之单项循环链表和双向循环链表

单项循环链表单项循环链表只是比单链表多了一条线,最后节点指向了第一个节点。要关注只有一个节点时添加,和头插法添加public void add(int index, E element) { rangeCheckForAdd(index); if (index == 0) { //先不改first,找到第一个节点,把他存起来 Node<E> newFirst = new Node<>(element, first); // 拿到最后一个节点, 上面先不要直

2021-07-23 14:17:09 111

原创 C++使用模板的本质

模板泛型,是一种将类型参数化以达到代码复用的技术,C++中使用模板来实现泛型template <typename\class T>typename和class是等价的模板没有被使用时,是不会被实例化出来的模板的声明和实现如果分离到.h和.cpp中,会导致链接错误一般将模板的声明和实现统一放到一个.hpp文件中为什么要使用模板#include <iostream>using namespace std;template <typename T>T

2021-07-23 14:16:25 147

原创 指针操作数组和数组指针

指针倒置

2021-07-23 14:15:36 264 1

原创 2021-04-17

REGULAR_PATTERNS = ( (r"\A[^<>]*%(chars)s[^<>]*\Z", ('<', '>'), "\".xss.\", pure text response, %(filtering)s filtering", None), (r"<!--[^>]*%(chars)s|%(c

2021-04-17 21:22:45 81

原创 kali踩雷——升级了 0个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1810 个软件包未被升级。

kali版本每次安装都会出现

2021-03-24 22:10:39 2270 2

原创 MYSQL修改密码(适用于已知原密码或刚安装好设置密码)

终端输入mysqladmin -u root -p password “新密码” 回车Enter password: 【输入原来的旧密码】刚安装的没有旧密码直接回车就可以了。进入mysqlset password for root@localhost = password(‘root’)

2021-02-26 17:05:45 170

原创 PHP常见漏洞分析之搭建环境

环境搭建firefox的安装Firefox48以下的版本,插件不需要安全证书,这里选择v45。关闭自动更新插件的安装和配置firebug、hackerbar、burpsuite、live_http_headers的安装和配置若出现插件无法安装,采用下面方法:url栏输入about:config,回车双击xpinstall.signatures.required就将true改为false在java环境下运行burpsuite并进行抓包测试设置代理,8080端口Proxy——是一个

2021-02-23 15:03:29 140

原创 sqli-lib搭建(phpstudy平台)

下载源码:https://codeload.github.com/Audi-1/sqli-labs/zip/master访问http://127.0.0.1/sqli-labs-master/less-1/修改数据库找到这个文件导入mysql数据库在mysql管理工具中新建security数据库并导入再一次输入网址http://127.0.0.1/sqli-labs-master/less-1/,搭建完成php版本最好是5.6以下,不然可能会报错...

2021-02-09 13:33:08 1736

原创 IDM加快下载速度

方法:注册表(regedit)定位至 HKEY_CURRENT_USER\Software\DownloadManager,选择 MaxConnectionsNumber 项,更改成你想要的线程数(十六进制,比如要256线程就填100,以此类推),然后享受高速下载,但不是说最大只能显示32个线程的分段下载状况,其余线程只会在后台下载,不会显示在GUI上(实时速度显示正常)。还有就是最后合并的时候硬盘的使用率会彪高(毕竟是256个小文件合并),用PrimoCache或者PrimoDisk貌似能缓解这个.

2021-01-29 23:36:09 6003

原创 您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求

今天对windows defender的一番操作,致使VM的虚拟机打不开,出现上面几个字。其实我根本就开启 Hyper-V的功能,然后一查说要关闭windows defender的一个内核完整性按钮。但其实随着windows版本的升级,defender也在变化,打开这个按钮后就会出现灰色的按钮,你以为他打开了,然而当你再一次去点击设备安全性进入这个页面时,这个按钮又是关闭状态。所以这到底是打开还是没打开呢?完全关闭Win10内核隔离内存完整性https://unix.lanzous.com/i0

2021-01-29 20:46:05 2076 3

原创 安装kali

下载镜像国内镜像下载速度比较快http://mirrors.163.com/kali-imageshttps://mirrors.ustc.edu.cn/kali/打开虚拟机,安装设置完分区后耐心等待大约15分钟……一定要按否,不然就就出现kail 正在扫描镜像站,一直动不了这里一定要选第二个,不然安装完成后打开界面只会出现光标一直闪……安装完成输入用户名密码,登录成功...

2021-01-14 23:49:52 193

原创 基数排序

int getkey(T value, int k){ int key; while(k >= 0) { key = value % 10; value /= 10; k--; } return key;}void Distribute(SqList &L, int n, List (&lt)[10], int k){ for(int i=0; i<10; ++i) { clear(&lt[i]); } int key; fo

2021-01-13 21:50:43 73

原创 归并排序

void Merge(SqList &L, SqList &TP, int left, int mid, int right){ for(int i=left; i<=right; ++i) { TP[i] = L[i]; } int s1 = left; int s2 = mid+1; int k = left; while(s1<=mid && s2<=right) { if(TP[s1] <= TP[s2]) {

2021-01-13 21:49:37 73

原创 选择排序

选择排序1.两两比较从序列中最大的元素,然后与最末尾的元素交换位置,执行完一轮后最末尾的元素就是最大的数。2.第二轮时,忽略第一轮中找到的放在最后的最大的数,重复1的操作,找到最大的数与末尾的数交换。static void Selectsort(Integer[] array) { for(int end=array.length-1;end>0;end--) { int Indexmax=0; for(int begin=1;begin<=end;begin++) {

2021-01-13 21:44:17 71

原创 交换排序

冒泡排序https://blog.csdn.net/m0_43450897/article/details/106576710快速排序快速排序是对冒泡排序的一种改进。首先设定一个分界值,通过该分界值将数组分成左右两部分。右边是大于或等于分界值的数据,左边是小于分界值的数据。然后,对左边和右边的数据进行独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据又分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。重复上述过程,这样通过递归将左侧部分排好序后,再递归排

2021-01-13 20:50:05 58

原创 插入排序的种类及实现

直接插入排序直接插入排序的思想是:把数组的第一位L[0](也就是新插入元素赋值得到)当做哨兵,当新插入元素小于它的前一位元素时,用作新插入元素与前面其他已经排好序的元素之间做比较;当新插入元素大于它的前一位元素,不做比较。如何进行比较并移动位置呢?让L[0]依次与新插入元素的前一位元素 (L[j]) 进行比较,L[0]<L[j],说明新插入元素要放到L[j]的前面,这时要让L[j]依次赋值给他的后一位L[j+1],从而找到新插入元素在数组中的位置。最后让L[0]赋值到那个位置即可。void

2021-01-13 20:13:03 124

原创 排序算法的时间、空间复杂度及稳定性

排序算法的稳定性如果相等的两个元素,在排序前后的相对位置保持不变,那么就是稳定的排序算法。对数组进行排序时可能没什么影响,对当对自定义对象进行排序时,可能会出错。

2021-01-07 18:49:05 83

原创 交换排序之冒泡排序代码实现及优化

冒泡排序意思:像气泡一样,从水底到水面,逐渐变大。每一次两两交换(如第一个数和第二个数,第二个数和第三个数……),若前面的数比后面的数大就交换顺序,一次排序总能找到一个最大的数。(设为内循环)再次进行一次排序,这一次最后一个数已经是这组数中的最大数了,不参与排序。如果有n个数,第一次就需要比较n-1次,第二次就需要比n-2次。(外循环)public class Main { public static void main(String[] args) { int[] array= {1,2,.

2020-08-29 22:14:27 230

原创 哈希桶和溢出桶解决hash冲突

问题描述定义结构体

2020-08-25 17:13:58 946

原创 C语言实现哈希表(除留余数法+链地址法)

定义结构体#define ElemType int#define P 7typedef struct HashNode{ ElemType data; HashNode* link;}HashNode;typedef HashNode* HashTable[P];//表里存的是个地址,这是个HashNode*类型的数组//如HashTable[i] 表示指向第一个结点的地址实现方法#include "HashTable.h"/**初始化*/void InitHashTable

2020-08-24 22:14:28 3286 1

原创 C语言实现串的模式匹配

BF(暴力匹配算法)思路:将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。代码实现(顺序存储实现的求子串定位函数)int StrIndex(SString S, SString T, int pos){ int i = pos; int j = 0; while (S[i] != '\0' && T[j] != '\0') {

2020-08-18 20:45:21 1411

原创 字符串的模式匹配(BF,KMP)

BF优化1:如果上面的图不匹配,那下面就不用匹配了,直接退出循环找到临界值10-4=6的位置,ti-pi是文本串正在匹配的子串的开始索引,当ti=7,pi=0时,没有比较的必要,立即退出ti – pi 是指每一轮比较中 text 首个比较字符的位置,如8-2=6,符合要求,可以比较...

2020-08-18 20:43:13 208

原创 最长公共子串长度的实现

求两个字符串的最长公共子串长度ABCBA 和 BABCA 的最长公共子串是 ABC,长度为 3代码static int Lcs(String str1,String str2) { if(str1==null&&str2==null) return 0; char[] char1=str1.toCharArray(); if(char1.length==0) return 0; char[] char2=str2.toCharArray(); if(char

2020-08-18 11:37:01 375

原创 C语言实现串(堆分配存储表示)

也叫变长分配存储表示

2020-08-15 11:32:47 568

原创 从数据类型的角度看指针

指针的赋值int* a;a=(int*)1;不管int后有多个*,强制转换时就加几个*char* x;short y;int z;x=(char *)1;y=2;z=3;编译器对声明时的每个变量分配4字节的空间,定义时才给具体的空间。任何类型都可以带 * 加上 * 以后是新的类型。指针类型定义的变量占4字节,不管后有多个*,这个变量存储的数据宽度都是4字节。++或–(不支持*和/)不带类型的变量,++或者-- 都是假1 或者减1带 的++和-- 是根据自身类型的宽度决定的

2020-08-14 13:28:54 94

原创 旋转体体积和平行截面的面积求体积

1、只需计算下面相交的体积,然后乘8就是两圆柱相交的体积从z轴上往下切,切的面积都是正方形2、圆锥的每一个截面都是圆,圆锥切片再小也有厚度

2020-08-13 23:18:47 1090

原创 函数堆栈图(函数调用的本质)

程序起始点寄存器情况找到函数入口,按f2让cpu执行到这里寄存器情况按f8单步执行函数,查看EBP和ESP寄存器push 2,push 1 入栈call :1.改变EIP的值;2.把下一个语句的地址入栈(与jmp的区别)后面的地址=当前地址+当前指令长度(当前是长度5字节)执行函数体CCCCCC表示int 3 中断,防止缓冲区溢出回到调用前的状态...

2020-08-13 13:24:01 375

原创 二级指针做函数参数

下面围绕对指针数组的操作进行说明第一种内存模型#include "stdio.h"#include <stdlib.h>#include <string.h>void printArr(char** arr,int num) { if (arr == NULL)return -1; for (int i = 0; i < num; i++) { printf("%s\n", arr[i]); }}int sortArr(char** arr, int.

2020-08-11 22:27:45 2160 1

原创 C语言实现迪杰斯特拉算法求最短路径

文章目录1.找到初始顶点X到各个顶点的权值(这里X为A)第2步和第3步用一个for(i1.找到初始顶点X到各个顶点的权值(这里X为A)for (int i = 0; i < n; i++){ dist[i] = GetWeight(g,v,i); s[i] = false; if (i != v && dist[i] < MAX_COST) path[i] = v; else path[i] = -1;}第2步和第3步用一个for(i<n-1)包

2020-08-10 23:33:22 3519

原创 32位cpu和64位cpu对内存地址和内存单元的差别

计算机中最基本的存储单元(即内存单元)为1字节,无论计算机是多少位的计算机,和cpu的位数无关32位或64位针对的是内存单元的地址的个数,即cpu的寻址能力在各个可视化软件中,以16进制的形式表示内存地址和内存地址里存储的值。上图中内存地址为8位16进制,根据两位16进制换算为1字节,该cpu内存地址最大是8字节(即32位),为32位计算机。一共有4G个地址里面的值都是每两位16进制数(即1字节)进行存储。如果是64位的计算机,那么内存地址单元就是16位16进制数表示(64位),计算后其可寻址空

2020-08-10 10:12:51 4944 2

原创 操作系统的结构

Operating-Sysytem Structures:1.Operating System Serviecs.User InterfaceProgram executionI/O operationsfile-system manipulation2.User Operating System Interface.3.System Callwindows里喜欢叫API,而Un...

2020-08-09 09:29:58 171

原创 进程同步之生产者消费者问题

文章目录生产者消费者问题如何避免——竞争条件peterson solution硬件可以控制中断(关中断)核心问题:当多线程多进程的编程时,只要有共享的数据(内存)被访问,数据就有可能被破坏。生产者消费者问题生产者往缓冲区写数据,消费者读数据,缓冲区有限制,一个只能读,一个只能写,且速度不一样。count记录现在缓冲区的数据,这是两个进程中共享的变量,缓冲区最多可放BUFFER_SIZE个...

2020-08-09 09:28:23 670

Sqlserver资料.zip

SqlServer2005自学视频的源代和大纲

2021-08-04

Dream Logic 安装包.zip

计算机组成原理与数字电路虚拟仿真软件

2021-08-04

tp5第二季完整资源包.zip

ThinkPHP5 第二季:实战开发企业站

2021-03-16

Metasploitable2-Linux.7z

Metasploitable2-Linux.7z

2021-02-26

2020考研真题.7z

2020考研真题.7z

2021-01-30

计算机科学与技术.7z

计算机科学与技术.7z

2021-01-30

汇编金手指和白皮书和JCC跳转文档.zip

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。

2020-07-07

office 简介关于office的前世今生

office 简介关于office的前世今生

2020-06-26

socket 网络编程通信

服务器指: ①一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其他计算机访问文件),数据库服务器和应用...

2020-06-19

putty ssh连接

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上

2020-06-19

EasyUEFIQYB38.zip

一款UEFI修复工具,用于管理EFI/UEFI启动项,可以使用它来新建、删除和编辑EFI/UEFI启动项,设置重启时使用的快速性启动项,或者调整EFI/UEFI启动项的顺序,不需要进入Bios也能完成!

2020-06-19

snifferpro.zip

Sniffer软件是NAI公司推出的一款一流的便携式网管和应用故障诊断分析软件,不管是在有线网络还是在无线网络中,它都能够给予网管管理人员实时的网络监视、数据包捕获以及故障诊断分析能力。对于在现场运行快速的网络和应用问题故障诊断,基于便携式软件的解决方案具备最高的性价比,却能够让用户获得强大的网管和应用故障诊断功能

2020-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除