![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
乡村农夫
双重彩虹是什么意思呢
展开
-
伽马函数的最小值
当x等于:1.46163213... 时,伽马函数取得最小值:0.88560319441088一下是代码演示(想了一下,这里代码必须要用四分位距才能很好算出结果):import mathloss = 1e-30def get_min_gamma(m, n): num = abs(n-m) / 4 num1 = m + num * 0 num2 = m + num * 1 num3 = m + num * 2 num4 = m + num * 3原创 2021-02-01 19:51:05 · 1239 阅读 · 0 评论 -
A*寻路算法
听说A*寻路算法通常用在游戏地图寻路中。要理解A*算法,应该先了解Dijkstra寻路算法。A*是在Dijkstra基础上加了一个函数:F = G + HG =从起点A移动到指定方格的移动代价,沿着到达该方格而生成的路径。H =从指定的方格移动到终点B的估算成本。A*沿着F最小的方向搜索。当然有可能F最小的方向会走进死胡同,这时就需要回退。...原创 2021-01-04 22:38:24 · 88 阅读 · 0 评论 -
C++哈夫曼编码和游程编码实现文件压缩
关于算法介绍:https://blog.csdn.net/fanyun_01/article/details/80211799源码和可实行文件下载: 链接原创 2020-05-24 00:51:06 · 804 阅读 · 0 评论 -
操作系统页面置换算法
程序必须加载到内存中才能运行,当内存不足时,需要将一部分数据从内存中移除,这时就用到页面置换算法。常见的置换算法有三个:FIFO,即先进先出算法,将最先进入内存的内容移除。 将接下来使用次数最少的内容移除。 将接下来最晚使用的内容移除。...原创 2020-01-13 16:20:08 · 108 阅读 · 0 评论 -
二叉树的遍历与生成
遍历:广度遍历(队列实现) 深度遍历(递归实现,包含:先序遍历,中序遍历,后续遍历)生成:通过先序遍历和中序遍历还原一颗二叉树。通过中序遍历的第一个元素在先序遍历的位置将先序遍历一分为二,左边为左子树,右边为右字树。再递归生成左子树和右字树。 通过后序遍历和中序遍历还原一颗二叉树。通过中序遍历的第一个元素在后序遍历的位置将先序遍历一分为二,左边为右子树,右边为左字树。再递归生成左子树和右字树。...原创 2021-01-03 23:12:29 · 173 阅读 · 0 评论 -
最短路径:迪杰斯特拉(Dijkstra)算法图解
Dijkstra算法可以求解带权图中最短路径。算法思想:将所有节点分为两个区域,已知区域和未知区域。最开始的时候,将起点加入到已知区域,其他点加入未知区域,比较已知区域到未知区域的所有连线,最短的路线就是我们要找的最短路径,将该路线未知区域对应的点加入到已知区域,再比较已知区域到未知区域的所有连线,如此反复,直到最终找到目标点。图解:假如我们要求A到G的最短路径。红线左边为已知区域。图1,比较ab,ac, ad三条线的长度, 假设ac最短。将C点加入到已知区域,如图2所示。比较ab, .原创 2021-01-03 22:03:10 · 6008 阅读 · 2 评论 -
C++ map 循环删除出现死循环
报错信息:std::_Rb_tree_increment(std::_Rb_tree_node_base*)发现该程序cpu占用达到100%, 用这个命令查看消耗cpu很高的函数:perf top -p 进程号 查看死循环函数补充:顺便提一下,根据实验来看,map编译是先序遍历,不是网上人们说的中序遍历。测试代码如下:#include <iostream>#include <string>#include <map>using namesp..原创 2020-12-16 20:31:25 · 1058 阅读 · 0 评论 -
B树,B+树,B*树
最近在帮一个学生写B树算法,所有学习了一下,在这里做个笔记。参考:https://blog.csdn.net/a2311minghan/article/details/89705532视频讲解:https://www.bilibili.com/video/BV1Aa4y1j7a4?from=search&seid=7972194939195388884B树一个m阶的B树具有如下几个特征:B树中所有结点的孩子结点最大值称为B树的阶,通常用m表示。一个结点有k个孩子时,必有k-1个关键字原创 2020-12-07 22:20:46 · 106 阅读 · 0 评论 -
leetcode 229题 摩尔投票算法C++代码示例
#include <iostream>using namespace std;char f(const string& strSrc){ char ch = 0; int count = 0; for (int i = 0; i < strSrc.size(); ++i) // 第一次循坏找到出现次数可能大于 n/2的元素 { if (0 == count) { ch = strSrc.原创 2020-11-27 23:11:16 · 321 阅读 · 0 评论 -
RSA非对称加密算法原理
理论依据:1. 大数的质因数分解很困难。 2. 费马小定理:。 3.费马-欧拉定理。 加解密: 详细加解密过程:(视频链接)破解:要想破解RSA算法,得找到大数质因数分解的办法。我认为如果能找到计算阶乘的具体公式,也能破解RSA算法,当前求阶乘的公式是斯特林公式:n!≈√(2πn)·(n/e)^n,这个公式只能求解...原创 2019-12-07 11:33:24 · 231 阅读 · 0 评论