标签: 实现

4 篇文章

thumbnail
椭圆曲线加解密及验签原理 Golang 实现
椭圆曲线 $$ y^2=x^3+ax+b $$ 运算规则 在椭圆曲线上取两点A,B并作过这两点直线交椭圆曲线为点 C' 再过 C' 作 垂线交椭圆曲线为点 C 则定义 C=A+B 特殊的若A,B两点重合,则作A点切线,此时定义 C=2A 若取B点为A关于x轴对称的点,并且定义为-A,则此时该直线交曲线为无穷原点处 D=3A 所以已知x,求xA点并不…
thumbnail
B树实现
B树 一颗m阶的B树定义如下: 每个结点最多有m-1个关键字。根结点最少可以只有1个关键字。非根结点至少有Math.ceil(m/2)-1个关键字。每个结点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。所有叶子结点都位于同一层,或者说根结点到每个叶子结点的长度都相同。 B树储存结构 B…
Golang实现Floyd算法
Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。 相关代码 func Floyd(data [][]float64) { n := len(data) for k := 0; k…
二叉树Golang语言实现
二叉树(Binary tree) 二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分...二叉树百度百科 golang中二叉树定义 type…