
学习笔记
文章平均质量分 80
liaoyaonline
这个作者很懒,什么都没留下…
展开
-
常用排序方法图解(冒泡,快速排序,堆排序)
详解三种典型的算法排序冒泡,快速排序,堆排序。对每种排序都有原理,步骤,图解,代码。原创 2022-07-29 12:04:26 · 327 阅读 · 0 评论 -
结构体字节对齐详解
假如有个结构体A如下,请问它占用了几个字节?以我们的直观感觉,char占用1个字节,int占用4个字节,short占用2个字节,因此总共占用7个字节。真是这样吗?让我们运行实测一下,测试程序exampl.cpp编译并执行程序,结果如下所示每个结构体的占用空间如我们所知道的char是1,int是4,short是2,累加结果应该为7,但最后结构体占用的字节却是12个,这个就是结构体的。...原创 2022-07-26 01:08:12 · 4489 阅读 · 3 评论 -
二叉树的三种遍历以及根据中序外加其他序确定唯一一颗二叉树
以图文为主介绍二叉树的先序遍历,中序遍历,后序遍历三种遍历方式,以及根据中序遍历以及其他任意一种遍历方式来确定一颗唯一二叉树的解题方法。原创 2022-07-08 18:13:05 · 556 阅读 · 0 评论 -
SSL握手细节
SSL握手细节流程一般而言,握手的交互过程如下所示,其中*号表示的是可选项,表示的是加密进行的。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sGMTiOTK-1637674338157)(SSL握手细节.assets/image-20211108152920286-16376437359071-16376437685821.png)]细节以TLS ECDHE密钥交换流程来梳理SSL握手的整个流程,其中密钥交换流程如下所示[外链图片转存失败,源站可能有防盗链机制原创 2021-11-23 22:03:52 · 1032 阅读 · 0 评论 -
SSL单向验证握手详解
SSL单向验证握手详解SSL单向验证握手阶段主要解决两个问题,第一个就协议算法达成一致。第二个是生成一个只有双方知道的加密密钥(对称)密钥导出函数,在确定协议通信协议的时候也确定了密钥导出函数,SSL和TLS的密钥导出函数是不同的。但大致都是根据三个输入数据得到一个输出数据作为对称密钥。握手流程图握手步骤详解简单来说,SSL单向验证握手总共以下几步:client_hello->发出通信请求,将自己的支持的算法套件列表发给server,发送随机数A,用于后续密钥计算。&原创 2021-10-13 14:47:40 · 677 阅读 · 0 评论 -
简单的安全信息系统
简单的安全信息系统简单介绍在不考虑握手的情况下进行通信,保证安全性,不可更改,防抵赖A发送消息给B过程详解A写了消息想发给B,A首先写出这个消息hello,world,然后将这个消息进行hash得到摘要,最后加上自己的证书,加上经过签名后的摘要。其形状如下所示123消息A的证书签名后的消息摘要然后A生成一个随机对称密钥,将这个密钥对以上消息进行加密,然后将该密钥使用B的公钥进行加密附加到消息的前面,其形状如下所示1234B公钥加密后的对称密原创 2021-10-12 17:16:20 · 2030 阅读 · 0 评论 -
C代码编译过程详解
C代码编译过程过程简介以hello.c代码为例,当我们编译hello.c时。#include <stdio.h>int main(){ printf("hello world\n"); return 0;}一般使用的编译命令是gcc -o hello hello.c我们能看到通过该命令后会得到一个可执行文件hello,执行该程序./hello我们会在界面上看到hello world一般而言我们不需要追究编译的细节,就好比我们去餐厅吃饭,我们不需要去细问厨师是原创 2021-09-28 22:41:22 · 1129 阅读 · 0 评论 -
浅谈握手:通信协议变迁
浅谈握手:通信协议变迁初始通信协议刚开始通信协议是没有加密概念的,即全程发送明文,后面有人好奇别人发了什么东东就通过抓包等手段抓取数据,这种事情干多了,总会露馅,不愿意暴露自己隐私的人就想到了将自己的数据进行加密,但是加密的目的是让第三方不知道自己发的是什么,总得让接收方知道自己发的是什么吧,于是发送方和接收方就约定,在通信的前几个字节保存密钥,这样的话无论是对方还是自己,收到消息都能很方便的解密,而第三方不知道这个协议的话就很难知道发送的是什么。非对称加密通信协议初始通信协议没用多久,很快就有很多原创 2021-09-18 14:37:44 · 505 阅读 · 0 评论 -
在命令行使用 Pandoc 进行文件转换
在命令行使用 Pandoc 进行文件转换[转载]原文:在命令行使用 Pandoc 进行文件转换文章目录在命令行使用 Pandoc 进行文件转换[转载]安装使用创建一个包含数学公式的网页制作一个Reveal.js幻灯片制作一份多种格式的合同模板和元信息结语安装在ubuntu上直接使用命令行安装:sudo apt-get install pandoc pandoc-citeproc texlive等待安装完成。。。。。使用创建一个包含数学公式的网页pandoc的优势之一就是以不同的输出文件格转载 2021-01-12 17:54:53 · 658 阅读 · 0 评论 -
Biblatex参考文献引用
Biblatex参考文献引用引用参考文献测试文档test2.bib@phdthesis{__2006, type = {硕士}, title = {特征选择算法研究}, url = {https://kns.cnki.net/KCMS/detail/detail.aspx?filename=2007140621.nh&dbname=CMFD2007&dbcode=cdmd&uid=WEEvREcwSlJHSldSdmVqM1BLUWdMWjVUaHZNcDE4aHdpZD原创 2020-09-17 06:35:26 · 2879 阅读 · 1 评论 -
截取包含汉字字符串的子字符串
截取包含汉字字符串的子字符串目标截取字符串:“本书字数:209.9万字”中间的数字209.9测试字符串中每种字符在当前占用字节数char test[10] ="测试";printf("%s :%d\n",test,(int)strlen(test));得到结果是6也就是说每个汉字占用6个字符然后测试目标字符串的大小char strlen_tmp[40] = "本书字数:209.9万字";printf("%d\n",(int)strlen(strlen_tmp));得到结果是26,原创 2020-08-29 17:40:00 · 221 阅读 · 0 评论 -
对于两个相同的double类型的数相减结果不等于0解决方案
对于两个相同的double类型的数相减结果不等于0解决方案问题详情在进行回归树生成的时候,发现叶节点上面出现诸如2.31112e-33的数字。经过不断的测试,发现错误代码是for(int i = 0; i < Value_Class.size(); i++) { double x_tmp = (Value_Class[i] - Value_Average); double sum_tmp = x_tmp * x_tmp; Value_Var原创 2020-08-24 16:15:35 · 4137 阅读 · 0 评论 -
C++让Vector的数组随机排列
C++让Vector的数组随机排列思路输入: vector<string> Array过程: vector<string> Shuffle_ArrayOrder(vector<string> Array_tmp)1: 新建一个map<int,int>map_tmp ,其中first从0到Array.size(),second是10000 以内的随机数2: 对map_tmp根据second进行排序3: 新建一个vector<strin原创 2020-08-19 14:17:53 · 1096 阅读 · 0 评论 -
二叉树树的三种遍历
文章目录二叉树树的三种遍历前序遍历介绍图解算法实现中序遍历介绍图解算法实现后序遍历介绍图解算法实现二叉树树的三种遍历 其实这三种遍历都是根据递归的性质来的,区别在于输出在调用左边之前,在右边之前,以及在右边之后。前序遍历介绍 前序遍历,就是一个触手不断的往一个左边伸手,每摸到一个节点就把它显示出来,它一路往左边摸,直到左边没节点了,他就返回上一个节点,看下该节点有没有右边节点,有的话...原创 2019-10-13 18:08:08 · 191 阅读 · 0 评论 -
头文件介绍
目录目录内容提要关键词正文引言正文头文件起源头文件作用编辑和使用头文件个人总结参考文献内容提要 介绍头文件产生的原因,作用以及编辑方法关键词 头文件,C语言,Linux,vim正文引言 为什么会有头文件?头文件有什么用?怎么编辑和使用头文件?正文头文件起源 简单的说头文件的产生就是为原创 2018-01-25 18:04:24 · 608 阅读 · 0 评论 -
存储类别,链接和内存管理
目录目录存储类别作用域链接存储期参考资料存储类别 根据一个变量的作用域(可见的范围)和生命期(它存在多长时间)来划分存储类别。作用域 根据作用域可分为块作用域,函数作用域,函数原型作用域,文件作用域。 块作用域:在{}之间都一个属于块作用域。块里面定义的变量,作用范围是从定义处到包含该定义的块的末尾。 函数作用域:这个我也不原创 2018-02-02 16:25:05 · 430 阅读 · 0 评论 -
格式化串读写攻击的利用和动态防御技术
题名作者摘要关键词1,格式化串攻击的定义2 格式化串读写越界攻击的利用2.1 使进程崩溃2.2 任意读2.3 任意写2.4 高级攻击动态防御技术4 结论参考文献作者简介题名 格式化串读写攻击的利用和动态防御技术作者 菏泽学院计算机与信息工程系 山东 菏泽 27400摘要 首先给出了格式化串读写越界的定义,然后给出了...转载 2018-03-02 21:12:30 · 487 阅读 · 0 评论 -
欧几里得算法详解
目录目录前言欧几里得算法证明网上的一般证明一位大佬的证明我的证明(详解)参考资料前言 今天再看算法图解,在看到快速排序时,感觉这种排序方法非常巧妙,得知这种算法来源于欧几里得算法(又名辗转相除法),于是又复习一下欧几里得算法。如果直接想看详细证明的话可以忽略前面的话直接跳转到我的证明(详解)欧几里得算法 欧几里德算法又称辗转相除法,...原创 2018-03-06 17:57:40 · 2276 阅读 · 0 评论 -
纠错码
目录目录纠错码简单介绍判别纠错码的好坏纠错能力传输效率一个定理和几个特殊的界限一个定理汉明界(完全码)Singleton界(MDS码) G-V界(纠错码存在充分条件)纠错码简单介绍 我们从发送端发送一个信息x给予接收端,由于信道传输途中出现错误或干扰εε\varepsilon导致接收端收到的信息y=x+εε\varepsilon。因此我们...原创 2018-05-02 14:32:55 · 4951 阅读 · 4 评论 -
C语言实现DES加密的简单聊天室
目录目录概述前言运行截图一些问题正文服务器端客户端头文件tables.hbool.h参考资料概述前言 我是用linux系统中的vim进行编辑 用gcc进行编译 在命令符窗口进行连接与运行 内容: client.c,server.c//主函数,其中server.c为服务器端,client.c为客户端 ...原创 2018-06-13 18:04:54 · 3986 阅读 · 0 评论 -
const用法详解
目录文章目录目录前言const位置解读比较好的习惯const用法详解参考文资料前言 本博文又名const T vs. T const ——Dan Saks 读后感,链接见文末const位置解读const T p;//p is a T const.p为只读,地址不能变,存储内容不能变T const *p;//p is a point to T const.p是一个指向T类型的指针,地址...原创 2018-09-30 15:32:27 · 525 阅读 · 0 评论 -
修改sudo权限
修改sudo权限前言我在修改sudo权限时设置错误,导致不能使用sudo,同时不能使用su进入root用户修改sudoers,在查了很多资料解决了这个问题,同时发现关于修改sudo权限的博文很多,但大都杂乱无章,只能解决某一个问题,我在此将修改sudo权限遇到的各种问题,以及解决方案系统总结起来,便于查找解决问题。流程图当前用户拥有直接修改sudoers的权限查看/etc/sudoe...原创 2019-03-14 21:41:12 · 3899 阅读 · 0 评论 -
定时将备份上传到百度网盘
Backup by bypy文章目录Backup by bypybypy->备份shell->自动cron->定时bypy->备份sudo apt-get install python3 //安装python3sudo apt-get install python3-pip3 //安装pip3sudo su //进入root用户,可以用su root替代pip...原创 2019-06-13 16:37:26 · 4504 阅读 · 0 评论 -
从哥尼斯堡的七桥到网络爬虫
从哥尼斯堡的七桥到网络爬虫文章目录从哥尼斯堡的七桥到网络爬虫引言主要内容结尾语题外话引言 在普鲁士的哥尼斯堡前面是一条河,河上有两个小岛,有七座桥把两岸和小岛连起来。当地人提出一个有趣的问题:一个步行者怎么才能不重复,不遗漏地一次性走完七座桥,最后回到出发点。这个问题看上去一目了然,每天有很多人来这边散步并且尝试解决这个问题。1736年欧拉来普鲁士访问,听说了这个问题,于是他空闲的消遣...原创 2019-09-21 22:47:51 · 160 阅读 · 0 评论 -
算法—跳台阶详解
算法—跳台阶详解题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路用递归的思路比较好理解,跳到第n个台阶最后一步只有两种可能,第一,从第n-1跳一级。第二,从n-2跳2级。也就是说f(n) = f(n-1) + f(n-2)题目衍生 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。...原创 2019-09-26 19:01:39 · 2211 阅读 · 0 评论