概述 前面算法系列文章有写过分治算法基本原理和实践,对于分治算法主要是理解递归的过程。二分法是分治算法的一种,相比分治算法会简单很多,因为少了递归的存在。 在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval sea ...
分类:
其他好文 时间:
2021-07-26 16:54:02
阅读次数:
0
量子密码为什么比经典密码算法更加安全在未来? 因为经典的密码算法的安全性都是依靠于数学难题,例如:大素数难分解问题、LWE问题、近似最大公约数问题等等,但量子加密算法不是依靠这个数学难题,而是量子力学的基本原理,未来不再受量子计算的威胁了。 一个n量子比特的存储器同时存储这2^n个数据状态,使得量子 ...
分类:
其他好文 时间:
2021-07-26 16:41:14
阅读次数:
0
递归遍历文件夹,对比文件md5 首先,需要引用 md5 的相关代码,参考这篇文章,防止链接内容被删除,这里再记录一次: md5.h #ifndef MD5_H #define MD5_H #include <string> #include <fstream> /* Type define */ t ...
分类:
编程语言 时间:
2021-07-16 17:44:14
阅读次数:
0
前言: 冒泡,选择:使用了普通双指针法 插入,快速,归并:使用了二分法,递归 冒泡排序 原理:不断比较相邻两个数得大小,把较大的数交换到靠后的位置 def bubbleSort(iList): '''冒泡排序 ''' if len(iList) <= 1: return iList for i in ...
分类:
编程语言 时间:
2021-07-16 17:32:50
阅读次数:
0
快速排序: 总体最优,数据大时性能最好 具体实现:设置一个基准值,小于基准值放左边,大于基准值放右边,最后递归继续排左右两侧的,最后排完后合并 /** * 快速排序 * * @param $array * @return array */ public function sort($array): ...
分类:
编程语言 时间:
2021-07-12 18:06:10
阅读次数:
0
Problem \(\text{Solution:}\) 这题唯一需要学习 or 复习的点就是它的查询了。 这东西一眼的维护左右最长连续的 \(0\) 的长度就做完了。标记什么的都很简单。代码量略微大一点。 注意在询问的时候: 如果完全在左右区间,就分别递归。 否则,我们还需要考虑跨越区间的最值。那 ...
分类:
其他好文 时间:
2021-07-05 17:12:33
阅读次数:
0
看见一句话,感觉很好,记录一下:贵有恒,何须三更醒五更眠。最无益,莫过一日曝十日寒。 谈到中序遍历,常规的思路一个是递归,一个是迭代,其中迭代的思想需要显式的维护一个栈,以此来辅助遍历,但这连两种方法都不能达到O1的空间复杂度。刷题的时候看到一个巧妙的方法,利用二叉树中的闲散指针,每个节点访问两次, ...
分类:
其他好文 时间:
2021-07-05 16:53:36
阅读次数:
0
方法一:递归 遍历即从跟开始,递归的先访问左节点再访问右节点。中序遍历在访问完左节点后访问该节点的值。 1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode ...
分类:
其他好文 时间:
2021-07-02 15:49:51
阅读次数:
0
changeData (data) { const arr = [] if (data.length !== 0) { data.forEach(item => { const obj = {} obj.id = item.path obj.label = item.name if (item.ch ...
分类:
其他好文 时间:
2021-07-01 16:42:14
阅读次数:
0
Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素 ...
分类:
编程语言 时间:
2021-06-29 16:03:05
阅读次数:
0