06 2021 档案
摘要:数据结构与算法 数据结构研究的是数据的存储方式,算法研究的是解决问题的思路。数据结构与算法是相辅相成的 参考 《数据结构与算法》(2013年人民邮电出版社出版的图书) 内容简介 本书是国家级双语教学示范课程《数据结构》的配套教材,根据教育部高等学校计算机科学与技术教学指导委员会制定的《高等学校计算机
阅读全文
摘要:算法概述 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时
阅读全文
摘要:参考资料:一个小时学会Git 1、Git配置 - git config 语法: git config [<options>] 文件位置 --global #use global config file 使用全局配置文件 当前用户级 --system #use system config file 使
阅读全文
摘要:rot13 回转13位密码 ROT13(回转13位,rotate by 13 places,有时中间加了个连字符称作ROT-13)是一种简易的替换式密码。它是一种在英文网络论坛用作隐藏八卦(spoiler)、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。ROT13被描述成“杂志
阅读全文
摘要:Rail_fence_cipher 栅栏密码 所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话) 加 密 原 理 当加密为两组时,把将要传递的信息中的字母
阅读全文
摘要:morse_code_implementation 摩斯电码实现 摩尔斯电码 摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代
阅读全文
摘要:mono_alphabetic_ciphers 单字母密码 定义 在网络上传送报文的过程中使用的一种简单的加密机制。它把明文中的一个字母总是用另一个字母替换 代码 [mono_alphabetic_ciphers.py] """ Prepare 1. sys.path 中增加 TheAlgorith
阅读全文
摘要:mixed_keyword_cypher 混杂关键字加密 mixed_keyword_cypher 混杂关键字加密,即利用一个关键字,代替其顺序的 A,B,C,..., 再取A,B,C 顺序未替代的部分进行转换。 如: key:hello 其 A,B,C,...,X,Y,Z 26个字母替代顺序为 H
阅读全文
摘要:hill_cipher 希尔密码 简介 希尔密码(Hill Cipher)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。 每个字母当作 \(26\) 进制数字:\(A=0, B=1, C=2,\cdots\) 一串字母当成 \(n\) 维向量,跟一个 \(n \ti
阅读全文
摘要:diffie公钥私钥机制依素数简化实现 1、依据一个素数,寻找一个另一可用素数 2、分别设置 Alice 、Bob 的公钥、私钥 3、Alice 、Bob 分别利用 对端公钥、自身私钥、及可用素数 形成 各自的 密钥 key 4、检查 key 的一致性 (应该是相同的) 代码 [diffie.py]
阅读全文
摘要:Diffie-Hellman密钥协商算法 一、概述 Diffie-Hellman密钥协商算法主要解决秘钥配送问题,本身并非用来加密用的;该算法其背后有对应数学理论做支撑,简单来讲就是构造一个复杂的计算难题,使得对该问题的求解在现实的时间内无法快速有效的求解(computationally infea
阅读全文
摘要:deterministic_miller_rabin 确定性米勒-拉宾素性检验 米勒-拉宾素性检验(Miller Rabin算法) 算法背景 米勒-拉宾素性检验(Miller Rabin算法),是一种素数判定法则,利用随机化算法判断一个数是合数还是可能是素数。卡内基梅隆大学的计算机系教授Gary L
阅读全文
摘要:caesar_cipher 凯撒密码 概念 凯撒密码是一种简单的替代密码,根据苏维托尼乌斯的记载,凯撒密码是由罗马共和国独裁官盖乌斯·尤利乌斯·恺撒发明的,他曾用凯撒密码来加密重要的军事情报。 作为一种替代加密算法,凯撒密码在如今看来,并非那么安全,它的加密方式只是简单的移位和替换,例如,如果明文移
阅读全文
摘要:beaufort_cipher 博福特密码(古典密码) 概念 博福特密码,是一种类似于维吉尼亚密码的替代密码,由弗朗西斯·蒲福(Francis Beaufort)发明。它最知名的应用是M-209密码机。博福特密码属于对等加密,即加密演算法与解密演算法相同 博福特密码是按mod q减法运算的一种周期代
阅读全文
摘要:modular_division 模数除法 modular_division def modular_division(a: int, b: int, n: int) -> int: """ Modular Division : An efficient algorithm for dividing
阅读全文
摘要:soduku 数独(逻辑游戏) 参考: https://baike.baidu.com/item/%E6%95%B0%E7%8B%AC/74847?fromtitle=Sudoku&fromid=3182509&fr=aladdin 数独(shù dú)是源自18世纪瑞士的一种数学游戏。是一种运用纸
阅读全文
摘要:rat_in_maze 老鼠在迷宫 回溯法解迷宫 一个迷宫被给出为$ n*n \(二进制矩阵的块,其中源块是最左上方的块,即\) Maze[0][0$],目标块是最右下方的块,即$Maze[n-1][n-1]$。老鼠从源头出发,必须到达目的地。老鼠只能朝两个方向移动:向前和向下 算法 def run
阅读全文
摘要:n_queens_math N皇后问题 八皇后问题,是一个古老而著名的问题.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法? 那么,我们将8皇后问题推广一下,就可以得到我们
阅读全文
摘要:minimax Minimax算法,极小化极大算法 参考:https://baike.baidu.com/item/%E6%9E%81%E5%B0%8F%E5%8C%96%E6%9E%81%E5%A4%A7%E7%AE%97%E6%B3%95/1351828?fromtitle=Minimax%E7
阅读全文
摘要:knight_tour 骑士游历算法 1、问题描述 在一个N*M的棋盘上,在任意位置放置一个骑士,骑士的走"日字",和象棋中的马一样。 问该骑士能否不重复遍历整个棋盘。下面的方法本质还是穷举,所以就写成可以计算出共有多少种不同的遍历方法。 2、分析与思路 根据题意,骑士走的下一步可能在棋盘上有多种选
阅读全文
摘要:hamiltonian_cycle 哈密顿圈问题 哈密顿圈问题(Hamilton circuit problem)是图论中著名的难题之一。巡回售货员问题有一个基于图的天然类似问题,它是图论中的一个基本问题,给定一个有向图G(V,E),如果G中的圈C恰好经过每一个顶点一次,则称圈C是一个哈密顿圈。换句
阅读全文
摘要:coloring 图着色 图着色也称为“ $ m $着色问题” , 由最多 \(m\) 种颜色的给定图着色组成 , 使相邻的顶点不被赋予相同的颜色 图着色问题(Graph Coloring Problem, GCP) 又称着色问题,是最著名的NP-完全问题之一。道路着色问题(Road Colorin
阅读全文
摘要:lu_decomposition LU 三角分解 Lower-Upper (LU) Decomposition 参考:https://baike.baidu.com/item/%E4%B8%89%E8%A7%92%E5%88%86%E8%A7%A3%E6%B3%95/19061680?fr=alad
阅读全文
摘要:in_static_equilibrium 处于静态平衡 点集与向量集的区别及联系 标积/内积/数量积/点积 设: $ a = {a_1,a_2,\cdots,a_n} \ b = {b_1,b_2,\cdots,b_n} $ 时 \[ \vec{a} \cdot \vec{b} = a_1 \ti
阅读全文
摘要:newton_forward_interpolation 牛顿向前插值法 参考: https://zhuanlan.zhihu.com/p/66793653 https://www.geeksforgeeks.org/newton-forward-backward-interpolation/ 插值
阅读全文
摘要:newton_method 牛顿迭代法求解 参考: https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fromtitle=%E7%89%9B%E9%A1%BF%E6%B3%95&fr
阅读全文
摘要:newton_raphson 牛顿-拉夫逊(拉弗森)方法 参考: https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fromtitle=%E7%89%9B%E9%A1%BF%E6%B
阅读全文
摘要:Secant method 弦截法 参考: https://www.docin.com/p-623621182.html 虽然牛顿法收敛速度很快,但它每次迭代要计算两个函数:\(f(x),f^{'}(x)\) .以前计算导函数一般页言是繁琐的,因此产生了一种不需要计臬导数的方法-弦截法。 为避免导数
阅读全文
摘要:base16,32,64 base编码和解码方法 在网络传入字符串过程中,如果编码方式是基于ASCII,那么会造成什么问题?比如:url地址中存在"/"(如:www.csdn.net/nav/ai),字符串中编码中也存在"/",这样就会出现错误地址解析.为了防止这种情况的出现,出现了Base16,B
阅读全文
摘要:atbash 埃特巴什码 概念 埃特巴什码(Atbash Cipher)是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。 在罗马字母表中,它是这样出现的: 常文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 密文:Z Y
阅读全文
摘要:affine_cipher 仿射加密法 概念 仿射加密法与单码加密法没什么不同,因为明文的每个字母分别只映射到一个密文字母。仿射密码的加密算法就是一个线性变换,即对任意的明文字符x,对应的密文字符为$y\equiv ax+ b (mod(26)) $ ,其中,\(a,b∈Z26\),且要求$gcd(
阅读全文
摘要:a1z26 a1z26加解密 概念 将字符串每个字符转换成数字序列 a -> 1 b -> 2 ... z -> 26 A1Z26是一种单码加密法,单码加密法的另一种形式称为仿射加密法(affine cipher)。在仿射加密法中,字母表的字母被赋予一个数字,例如a=0,b=1,c=2…z=25。仿
阅读全文
摘要:diophantine_equation 丢番图方程 丢番图方程(Diophantine Equation):有一个或者几个变量的整系数方程,它们的求解仅仅在整数范围内进行。最后这个限制使得丢番图方程求解与实数范围方程求解有根本的不同。 丢番图方程又名不定方程、整系数多项式方程,是变量仅容许是整数的
阅读全文
摘要:chinese_remainder_theorem 中国余数定理 中国余数定理又称孙子定理,数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下: 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。 《孙子算经
阅读全文
摘要:bit_manipulation 二进制位操作 binary_and(a: int, b: int) → str 整数二进制 and 操作 对两个整形参数,先转换成二进制,对2个二进制数据进行 and 与操作,返回 二进制字符制 binary_or(a: int, b: int) → str or
阅读全文

浙公网安备 33010602011771号