摘要: Python爬虫html转markdown 说明 动态博客转静态博客(例如typecho转hexo),在上传静态博客文章时往往需要md文件 通过这个程序我我们可以很方便地以爬虫的方式获取markdown文档 代码 下面给出代码框架,根据需要进行修改即可运行 import requests from 阅读全文
posted @ 2022-05-03 15:08 CairBin 阅读(5) 评论(0) 推荐(0) 编辑
摘要: ICMP与IPv6全局单播地址动态分配 ICMP TCP/IP协议簇会在发生某些错误时提供要发送的信息,这些消息使用ICMP服务发送 ICMP报文可大致分为两类:差错报文与查询或信息类报文 ICMP版本类型有ICMPv4与ICMPv6,这分别对应IPv4与IPv6 ICMP报文格式 ICMPv4 I 阅读全文
posted @ 2022-04-21 11:49 CairBin 阅读(32) 评论(0) 推荐(0) 编辑
摘要: IP协议/地址(IPv4&IPv6)概要 IP协议 什么是IP协议 IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。 1 协议的特征 无连接:发送数据包前不与目标建立连接 最大努力:不保证数据包交付。即,如果出错,IP无法重新传输数据包;如果顺序错乱 阅读全文
posted @ 2022-04-15 22:49 CairBin 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 堆 堆的概念 堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象,即是一种顺序储存结构的完全二叉树。1 提示:完全二叉树 完全二叉树:对一棵深度为k、有n个结点二叉树编号后,各节点的编号与深度为k的满二叉树相同位置的结点的编号相同,这颗二叉树就被称为完全二叉 阅读全文
posted @ 2022-04-09 15:57 CairBin 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法 介绍 概念 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。 公式 计算公式gcd(a,b) = gcd(b,a mod b) GCD、LCM 注:最大公因数求法还有辗转相减法等方法 GCD(最大公约数) //求a,b最大公约数 阅读全文
posted @ 2022-04-06 14:33 CairBin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 并查集 说明 并查集是一种精巧使用的数据结构,主要用于处理一些不相交的集合合并问题。经典的例子有连通子图、最小生成树Kruskal算法和LCA等。 原理 将编号分别为1~n个对象分为不相交的集合,每个集合中,选择其中某个元素代表所在的集合。在这个集合中,并查集的操作有初始化、合并、找查。 步骤 初始 阅读全文
posted @ 2022-04-03 18:45 CairBin 阅读(13) 评论(0) 推荐(0) 编辑
摘要: VirtualBox安装Kali 下载VBox 去Virtual Box官网下载(根据操作系统选择版本,此处以Windows为例) 打开安装程序进行安装即可 安装Kali 去Kali Linux官网下载镜像 点击Virtual Machines下的"Recommended" 点击下载按钮 下载完毕后 阅读全文
posted @ 2022-03-16 19:55 CairBin 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\ProgramData\Anaconda3\ 剩下的按默认进行就可以了 环境变量配置 环境变量配置非常重要 阅读全文
posted @ 2022-03-14 19:44 CairBin 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 二叉树及其遍历 二叉树概念定义 什么是二叉树 二叉树特点是每个节点最多只能有两棵子树,且有左右之分的树。 注:关于数据结构——树的一些基本概念可以参考《树的概念及基本术语》 - CairBin's Blog 二叉树的基本性质 关于二叉树的基本性质前面已经写的很详细了,可以回顾文章《二叉树》 - Ca 阅读全文
posted @ 2022-03-07 01:32 CairBin 阅读(18) 评论(0) 推荐(0) 编辑
摘要: DFS与N皇后问题 DFS 什么是DFS DFS是指深度优先遍历也叫深度优先搜索。 它是一种用来遍历或搜索树和图数据结构的算法 注:关于树的一些知识可以去看《树的概念及基本术语》这篇文章 它会不断地沿着节点的深度方向(该深度方向为其邻接点的方向)进行遍历 DFS如何实现 DFS主要步骤有以下几步 访 阅读全文
posted @ 2022-03-06 12:10 CairBin 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 哈希排序算法 说明 哈希算法是一种以空间换取时间的算法。 下面以一个例题的方式来进一步说明这个算法。 时间复杂度 O(n) 例题 问题描述 HDU 1425 “Sort” 给你n个整数,请按从大到小的顺序输出其中前m大的数。 输入:每组数据有两行,第一行有两个数n和m(0<n,m<1000000), 阅读全文
posted @ 2022-03-04 22:01 CairBin 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 原因 学校网络安全课讲到了Hash函数,老师提了一句上机操作的时候可以用自己的写的文件校验软件,所以我干脆就自己写一个。 说明 支持算法 MD5 SHA1 SHA256 SHA512 SHA384 为什么没有其它算法 因为.net原生库里就支持这几种,其它的我懒得写了(doge) 功能 计算文本的H 阅读全文
posted @ 2022-03-04 00:46 CairBin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: PicCompress 说明 之前上传博客图片过大不方便加载,还有一些微信平台的图片无法上传有大小限制,于是就打算开发个压缩图片的工具 支持图片格式 PNG(.png) JPEG(.jpg, .jpeg, .jpe, .jfif) 主要界面 主要功能 压缩图片 可支持多图片压缩(在点击按钮选择图片文 阅读全文
posted @ 2022-03-02 20:29 CairBin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 归并排序 定义 归并排序是一种采用分治法,即先使每个子序列有序,再使子序列段间有序,然后合成一个完整的有序表的有效排序方法。 主要步骤 划分 排序 合并 实际过程 实际过程如下图(图片来自百度) 代码 核心代码 merge() 因为我们在此使用了递归的方式,对于临时数组temp在此函数内不好写,所以 阅读全文
posted @ 2022-02-15 21:21 CairBin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 高精度减法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式减法计算 注:在本文中,我们默认输入的第一个数为被减数,且被减数大于减数 原理基本上与高精度加法相同,仅在核心代码处有些区别,因此本文较为简略,建议先阅读文章《高精度加法(C++实现)》 主要步骤 清零 阅读全文
posted @ 2022-01-24 15:34 CairBin 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 高精度加法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式加法计算 步骤 以下有顺序之分 数组清零 输入 获取长度 逆置 字符型数字转成对应的整型数字 计算并输出 简单来看重要的步骤也就以下几步 清零 逆置 转换 相加计算(包含进位) 代码实现 逆置 因为数组存 阅读全文
posted @ 2022-01-16 15:19 CairBin 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 快速幂及其模 前提 typedef long long int ll; 快速幂 时间复杂度 O(log2(N)) 原理 幂指数以二进制的形式参与计算 然后把ab转化为 通项为 **a( 2^n(0或1))** 求0到n项和的多项式 代码 ll quick_pow(ll a, ll b) { ll r 阅读全文
posted @ 2022-01-05 13:23 CairBin 阅读(10) 评论(0) 推荐(0) 编辑
摘要: LAN交换机自学习算法 提示 第二层交完全忽略帧的数据部分协议,仅根据第二层以太网的MAC地址做出转发决策。 MAC地址表有时又被称作内容可编址内存(CAM)表 检查源MAC地址 如果源MAC地址不存在,会将其和传入的端口号一起添加到MAC地址表中 如果源MAC地址存在于表中,则交换机会更新该条目的 阅读全文
posted @ 2021-12-18 18:19 CairBin 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 队列 队列的定义 队列简称队,是一种受限制的线性表,仅允许在表的一端插入,在表的另一端进行删除。 进行插入的一端叫做队头 进行删除的一端叫做队尾 队的特点 **先进先出(FIFO) ** 顺序队(循环队列) 顺序队主要以循环队列的形式出现 循环队列的要素 队空状态 qu.rear == qu.fro 阅读全文
posted @ 2021-12-18 18:17 CairBin 阅读(58) 评论(0) 推荐(0) 编辑
摘要: TCP/IP 协议标准简单描述 说明 分为三部分:中文名称、缩写、说明. 应用层 DNS 域名服务 (DNS) 功能: 将域名转化为IP地址 BOOTP 引导程序协议 (BOOTP) 功能: 允许无盘工作站探查其IP地址、网络中的BOOTP服务器的IP地址以及要加载到内存中以引导机器的文件 (注:B 阅读全文
posted @ 2021-11-30 01:46 CairBin 阅读(113) 评论(0) 推荐(0) 编辑