自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有人_295的博客

学习使人进步

  • 博客(186)
  • 收藏
  • 关注

原创 HASH 散列介绍

Hash音译:哈希翻译:散列0. 计算机常见哈希函数(Hash function):将数据编码成固定的小尺寸;用于哈希表和密码学哈希表(Hash table):使用哈希函数的数据结构 {key, value}1. 哈希函数1.1 定义散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数函数将数据打乱混合,重新创建一个叫做散列值(hash value

2020-12-05 22:21:58 2079

原创 桶排序算法——C/C++

桶排序1. 算法思想桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。个人理解,适合数据比较集中排序,桶的数量适当设置。2. 实现原理桶排序以下列程序进行:设置一个定量的数组当作空桶子。寻访序列,并且把项目一个一个放到对应的桶子去。对每个不是空的桶子进行排序。从不是空的桶子里把项目再放回原来的序列中。3. 动态演示(1)数据分桶(2)桶内数据排

2020-12-03 22:38:07 5240 3

翻译 DES加密——C

DES1. 简介数据加密标准(英语:Data Encryption Standard,缩写为 DES)是一种 对称密钥加密 算法DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。DES标准和3DES标准已逐渐被 **高级加密标准(AES)**所取代2. 使用 -d, --decrypt decrypt DES from input file -e, --encrypt encrypt DES from input file -o, --output=FILE

2020-11-17 23:19:29 1523

翻译 MD5加密——C

MD5MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 中被加以规范。将数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理。1. 历史与密码学1992年8月,罗纳德·李维斯特向

2020-11-17 23:07:27 419

翻译 红黑树——C/C++

红黑树由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。1. 二叉查找树二叉查找树(Binary Search Tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值任意节点的左、右子树也分别为二叉查找树没有键值相等的节点(no duplicate nodes)2. 红黑树R-B Tree,全称是Red-Black Tree,又

2020-11-08 12:39:37 632

原创 Windows控制台socket之Select模型聊天室

前言:不会QT和MFC,所以就在控制台实现socket之Select模型聊天室。一、概述程序使用到MySQL(很简单的运用)技术和Select编程模型,以MySQL数据库中关系辅以socket编程实现对目标好友或群组发送接收消息。可以同时允许多人(可以修改人数)对各自好友各自的群里进行愉快的通信。1、 MySQL主要提供用户之间的关系,供socket显示在线的用户,以及各自的群组。2、 Socket主要实现消息处理【1】服务端:用户U_ID和Socket关系的对应(为什么不是IP,因为IP会经常

2020-06-24 18:34:28 822

原创 雷达原理(第五版)常见公式

第 1 章 绪论1.1.1 雷达回波中的可用信息R:斜距,雷达到目标的直线距离R : 斜距,雷达到目标的直线距离R:斜距,雷达到目标的直线距离H:目标距水平面的高度H : 目标距水平面的高度H:目标距水平面的高度D:水平距离D : 水平距离D:水平距离α:方位角,目标斜距R在水平面的投影与某一起始方向在水平面的夹角\alpha : 方位角,目标斜距R在水平面的投影与某一起始方向在水平面的夹角α:方位角,目标斜距R在水平面的投影与某一起始方向在水平面的夹角β:仰角,斜距与水平面的夹角\beta :

2020-06-16 19:49:22 30262 3

原创 通信原理(第七版)常见公式

通信原理(第七版)知识点复习(1)《通信原理》期末总结——Sunnycee’s Bloghttps://sunnycee.cn/archives/2e834616.html(2)通信原理复习——Pang-Bloghttps://pangyuworld.github.io/2019/12/19/%E9%80%9A%E4%BF%A1%E5%8E%9F%E7%90%86%E5%A4%8D%E4%B9%A0/...

2020-05-30 18:55:47 12913 2

转载 Windows10 安装 cygwin 教程

Windows 安装 Linux 环境,cygwin 安装界面稍微改了一点,结果没反应过来,浪费了一点时间,记录下。转载来源:(1)安装教程:Windows:安装cygwin教程(2)设置环境变量:cygwin 设置环境变量安装步骤1、官网下载官网地址:https://cygwin.com/index.html2、安装(1)直接双击 setup-x86_64.exe,点击下一步(2)选择模式,下一步Install from Internet: 这种模式直接从Internet安装,适

2020-05-11 22:01:27 5911 4

原创 (树)搜索算法——C/C++

用树做一个类似搜索的程序。一、分析有大量的信息(关键字:描述),需要在大量的信息当中搜索想要的信息:(1)如果用全部检索(遍历)方法搜索关键字,无疑会浪费时间和资源;(2)如果用树构建一个搜索树,层层搜索关键字(的一个字母),搜索到后就是需要的描述,就会节约很多时间。二、算法思想创建一个结构体,有关于关键字指针的数组,还有信息对应的描述。typedef struct search_t...

2020-04-24 15:26:48 1269

原创 AVL平衡二叉树——C/C++

这个网上有很多讲解,我就大概记录下自己个人的理解。一、平衡二叉树1、定义平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法)。且具有以下可以是空树假如不是空树,任何一个结点的左子树与右子树都是平衡二叉树,并且高度之差的绝对值不超过 12、为什么要平衡二叉树(1)优点这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂...

2020-04-22 18:29:52 903 3

原创 网络编程——阻塞TCP多线程多客户端

前面已经介绍了简单TCP套接字编程:https://blog.csdn.net/weixin_42109012/article/details/105308403但是只是实现了一对一的简单通讯,这是由于函数的阻塞机制导致的,同一时间一、通讯流程二、一些介绍三、头文件及函数介绍(建议看官方文档)四、网络编程——简单TCP套接字编程五、结果六、总结...

2020-04-12 19:53:14 842

原创 BadApple 源代码合集——Windows

突然对 Bad Apple 心血来潮,看到别人把 Bad Apple 玩出了新花样,奈何个人能力不够,最终只能整理出这几个源代码。这些源代码仅仅需要一台电脑就可以自己动手完成(可能需要一点编程能力)。具体怎么操作和运行,请仔细看 READER.md,应该很容易理解。一、C/C++1、BadApple_C_Windows_Txt控制台输出(1)来源:Github(user:Aki...

2020-04-10 22:41:09 5847 1

转载 重装系统——Win10系统U盘启动盘制作教程(MSDN自带纯净版)

终究还是不能逃脱给别人重装系统。在网上查了许久,都是给的全家桶服务(理解),但是带了好多不想要的软件(比如2345浏览器。。。。,也可以理解),但是最重要的是我制作 U盘时,很好的网下载不了系统就放弃了。此外好多一键装机软件没更新了(如微PE)最终在知乎找到 MSDN 自带的制作 U盘当启动盘转载来源:https://zhuanlan.zhihu.com/p/78326370一、工具准备...

2020-04-06 11:04:26 21006 1

原创 网络编程——简单UDP套接字编程

UDP许多函数与TCP是一样的,就不重复介绍,介绍不一样的。TCP:https://blog.csdn.net/weixin_42109012/article/details/105308403一、通讯流程UDP通讯与TCP通讯相比,少了很多步骤(双方不用同时连接)。1、服务端绑定数据接收端口2、客户端向服务端IP、端口发信息3、服务端接收某端口的数据4、服务器端往对应客户端IP和端...

2020-04-05 22:19:26 616 1

原创 网络编程——简单TCP套接字编程

一、通讯流程1、确定两端(客户端/服务端)2、双方约定通讯规则(协议)3、各自赋予赋予地址(IP地址和端口)服务端开启监听客户端根据服务端计算机IP和服务端程序监听端口连接服务端服务端决定是否准许客户端连接4、建立连接(TCP需要)5、发送和接收数据6、处理数据7、关闭连接二、一些介绍C/S架构,客户端/服务器端内网外网通讯:外网是服务器端,内网客户端。1、服务端...

2020-04-04 19:34:37 1579 1

原创 VS2019快捷说明性注释——C++

VS用来编写C系列程序是很方便的,特别是 C#,对于C++稍微差了点。特别是在怎么给文件自动添加头注释,网上大部分都是对于 C# 的修改,找了很久没有C++的。所以只能迂回找了两种相似的办法。一、修改创建新文件格式1、新文件模板路径大概路径一致,注意自己的年份和版本C:\Program Files (x86)\Microsoft Visual Studio\2019\Profession...

2020-03-17 15:14:53 9437 3

转载 扫雷游戏——Java

整理一下以前学习时找到的程序。一、框架二、代码1、ConstantValue.java/* * 封装常量 * */public class ConstantValue { final int row = 20; //行数30 final int col = 20; //列数30 final int LEICODE = 10; //定义雷下方...

2020-03-05 15:36:14 485 1

转载 五子棋游戏——Java

整理一下以前学习时找到的程序。转载:https://blog.csdn.net/qq_40595913/article/details/81563301一、框架二、代码import java.awt.*;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image...

2020-03-05 15:32:00 350

转载 2048游戏——Java

整理一下以前学习时找到的程序。一、框架就以个 2 维数组,4 个方向进行加法 在空白位置出现随机的 2 就行了二、代码(链接在最后)1、ConstantValue.java(封装常量)import java.awt.Color;/* * 封装常量 * WID:边长 * SP:间隔 * lable:各种数字 * clo:对应数字颜色 * */public class ...

2020-03-05 15:24:02 399 1

转载 连连看游戏——Java

整理一下以前学习时找到的程序。转载:https://blog.csdn.net/A1344714150/article/details/84800161?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task一、框架1、寻路模块(1)直连相消:两...

2020-03-05 14:44:22 293

转载 浪漫烟花——C/C++

整理一下以前学习时找到的程序。一、框架1、加载图片有一个全部图片,是把图片进行切割2、烟花绽放根据当前爆炸半径画烟花,颜色值接近黑色的不输出3、消除烟花随机消除像素点(从内向外消除没试过)二、代码及素材(链接在最后)程序需要用到 <graphics.h>,需要安装 EasyX,下载直接安装即可。网址:https://easyx.cn/#include<gr...

2020-03-04 12:31:55 25561 21

原创 贪吃蛇游戏——C/C++

整理一下以前学习时找到的程序。一、游戏框架1、蛇蛇时以链表的形式保存的,增加长度是就新建节点,每次移动(刷新)蛇头向前进方向移动一格,把最后的节点删除;如果吃到食物就不删除尾部。2、游戏(1)撞墙:判断头部是否到达超过边界(2)撞自己:遍历链表,判断头部是否在链表中位置一样(3)加速减速:改变每次刷新(延时)时间二、游戏代码1、snake.h#pragma once#ifn...

2020-03-03 23:19:51 465

转载 推箱子游戏——C/C++

整理一下以前学习时找到的程序。一、游戏框架1、游戏定义0: " " 空地 1: ▆ 墙 3:☆ 目的地4:★ 箱子5:※ 人7: ⊙ 箱子和目的地8:※ 人和目的地7刚好等于3+4刚好是目的地+箱子,8刚好是5+3刚好是+人和目的地2、游戏流程上下左右移动,将箱子推进目的地(好像难点反而在于地图的生成,没看到可以随机生成)二、游戏代码/* 1.绘制地图 1.1...

2020-03-03 22:47:12 355

转载 打字游戏(极简单)——C/C++

整理一下以前学习时找到的程序。一、游戏框架游戏流程直接随机生成字母,从界面最上方落下(且只能单一落下),按键匹配后消失,速度会越来越快。二、游戏代码程序需要用到 <graphics.h>,需要安装 EasyX,下载直接安装即可。网址:https://easyx.cn//* 1.制作游戏界面 1.1 graphics 2.开始游戏 2.1 获取键值 2.2...

2020-03-03 22:01:26 1895

转载 扫雷游戏——C/C++

整理一下以前学习时找到的程序。一、游戏框架1、游戏地图初始化通过随机生成数组,得到固定雷个数,然后判断九宫格里 8 个位置雷的个数,得到该位置的数字,然后以特定图片代替2、游戏流程对应数字作用:0 1 2 3 4 5 6 7 8 雷 加密 标记操作:0 1 2 3 4 5 6 7 8 -1 +-20 +-30结果:0 1 2 3 4 5 6 7 8 -1 19-28 >30...

2020-03-03 21:45:57 679

转载 机器学习——线性回归

参考:https://cuijiahua.com/blog/2017/11/ml_6_logistic_1.htmlhttps://cuijiahua.com/blog/2017/11/ml_7_logistic_2.html一、线性回归前置简介1.1、Sigmoid函数优点:Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。求导容...

2020-01-31 21:14:37 257

转载 机器学习——朴素贝叶斯

参考:https://cuijiahua.com/blog/2017/11/ml_4_bayes_1.htmlhttps://cuijiahua.com/blog/2017/11/ml_5_bayes_2.htmlhttps://www.jianshu.com/p/5953923f43f0一、朴素贝叶斯简介1.1、朴素贝叶斯算法简介朴素贝叶斯算法(Naive Bayesian algo...

2020-01-30 18:47:31 322

转载 机器学习——决策树

转载:https://cuijiahua.com/blog/2017/11/ml_2_decision_tree_1.htmlhttps://cuijiahua.com/blog/2017/11/ml_3_decision_tree_2.htmlhttps://blog.csdn.net/jiaoyangwm/article/details/79525237一、k-近邻算法简介1.1、解...

2020-01-13 23:03:11 478

转载 机器学习——K-近邻算法

一、k-近邻算法简介1.1、作者k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法。1.2、原理存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样...

2020-01-12 23:55:07 508

原创 学生成绩管理系统——C

一、环境编译器:Dev C语言:C说明:现在支持纯 C 的比较少,都是 C/C++ 都用 gcc 编译(能编译 C++ 的能编译 C,但能编译C的不一定能编译 C++),编译器问题不大,不能用 VS2017 后的版本编译,因为 VS 引入了很多安全函数限制,虽然也好但是麻烦。二、功能概述做综合程序设计时,都会用到多模块编程技术文件级模块函数级模块这个综合设计不大,就仅是函数级...

2020-01-08 10:29:29 9847 7

转载 python爬虫——豆瓣top250之scrapy框架

记录下对 scrapy 框架的认识,以及爬取豆瓣 top250 实战。一、前提编译IDA:pycharm 社区版python版本:python3.7.4二、Scrapy框架介绍2.1、结构图2.2、模块分析引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心)调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回....

2019-12-29 17:46:43 858

原创 python爬虫——猫眼 fonts 字体破解

学习之前,看了一下发现网上有教程,应该不难,但是现在都不行了,因为以前反爬虫字体只是简单的换了下字体名称,所有的参数都没有改变,所以有 TTFont 库,直接提取数值相等就可以判断这是代表哪一个字符,但是目前字体文件参数反爬做了随机偏移修改,所以网上的好像都不适合了。一、前提编译IDA:pycharm 社区版python版本:python3.7.4用到的库:requests、re、os、T...

2019-12-22 00:01:53 1289

原创 python爬虫——有道翻译JS破解

不知道为什么好像网上 js 逆向都属以有道翻译为例子,以前认为 js 逆向很难,但是现在还是要学习。参考:https://mp.weixin.qq.com/s/a-ORkG5XGSAP_-6GNilBbQ一、前提编译IDA:pycharm 社区版python版本:python3.7.4用到的库:requests、time、hashlib、random二、分析1、找到响应用浏览器打开...

2019-12-19 16:40:26 898

原创 CRC检验码计算——C语言(CRC8/16/32)

1、循环冗余检测(Cyclic Redundancy Check,CRC)CRC编码也被称为多项式编码(polynomial code),因为该编码能够将要发送的比特串看作是系数为 0 和 1 的一个多项式。对比特串操作被解释为多项式算术。2、CRC算法D:D数据拥有 d 比特G:发送方和接收方需要协商一个 r+1 比特模式,称为生成多项式(G),G的最高有效位的比特(最高位)是 1R:...

2019-12-12 13:11:36 15205 9

原创 检验和计算——C语言

一、计算检验和的步骤检验和的计算都是一个模板,只是各种检验和的初始数据不一样总结一下就是:求和、回卷、取反把校验和字段设置为0。求和:把需要校验的数据看成以16位为单位的数字组成,依次进行二进制求和。回卷:求和后超过16位的加到低16位。取反:最后结果取反码就是检验和。(1)可以每两个求和后回卷,再求和,在回卷,直到全部求和,然后取反(2)也可以全部求和,然后一直回卷直到高 1...

2019-12-09 23:15:00 7572

原创 wireshark以太网协议分析

一、关键术语和协议码1、关键术语最大传输单元(Maximum Transmission Unit,MTU)最大报文段长度(Maximum Segment Size,MSS)循环冗余校验(Cyclic Redundancy Check,CRC)帧检验序列(Frame Check Sequence,FCS)2、协议码ICMP:1IGMP:2TCP:6UDP:17EIGRP:88...

2019-12-08 15:12:24 7249

原创 移位实现乘法和除法——C/C++

一、思想(仅实现整数)没有考虑是否超出最大值与最小值范围(MAX_INT = 2147483647,MIN_INT = -2147483648)移位实现乘法和除法(需要用到加法和减法)。移位都知道是乘是左移 n 位,除是右移 n 位,就导致了乘除 2n1、乘法关键是在乘数,考虑是 2 的几次方,用类似贪心算法,被乘数乘了 2 的几次方,然后乘数减去即可,直至乘数为0。2、除法关键是在...

2019-12-06 12:15:27 6479 5

原创 LeetCode串联所有单词的子串——C

一、题解通过把所有单词以不同方式组合,在字符串中找到一样的,并返回子串的起始位置。1、暴力查找法通过拼凑出所有单词组合,然后在字符串中利用 KMP 算法,往后依次查找,找到一样的返回下标。int matchSubstr(char* s, char** words, int* wordsNum, int wordsSize) { int i = 0; int strlength = st...

2019-12-06 00:16:31 387

转载 LeetCode两数相除——C

一、题解其实最难的就是边界处理,至于除法就是通过移位和减法实现。采用的是右移,所以需要转换成正数。int divide(int dividend, int divisor) { int res = 0; bool flag = (dividend ^ divisor) < 0; //判断符号是否相同,相同为0,不同为1(二进制异或) if (divisor == 1) { ...

2019-12-05 23:34:21 197

空空如也

空空如也

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

TA关注的人

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