数学理论
一代程序码农
coder is coding...
展开
-
哈弗曼树与哈弗曼编码简介
树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL= (W1*L1+W2*L2+W3*L3+...+Wn...转载 2019-12-31 14:00:54 · 722 阅读 · 0 评论 -
摘自一个MILLION SONG DATASET里的一段读取基于HDF5文件格式的歌曲信息
摘自:http://labrosa.ee.columbia.edu/millionsong/直接上代码,小修改了一下,保证了在VS2015中可以编译通过,注意使用DLL方式链接HDF5库时,需要在工程的宏定义中定义H5_BUILT_AS_DYNAMIC_LIB,否则会找不到定义。This is correct, define H5_BUILT_AS_DYNAMIC_LIB to link转载 2017-12-20 16:43:54 · 1572 阅读 · 2 评论 -
整理资料搬运——退火算法Annealing的Java实现
直接上代码:package sa;import java.util.ArrayList;import java.util.List;//// 模拟退火算法解决TSP旅行商问题//public class SimulatedAnnealing { public static List allCitys = new ArrayList(); //计算 接受的概率转载 2018-01-12 14:57:35 · 593 阅读 · 0 评论 -
关于Spark中计算圆周率Pi的理论原理——蒙特卡洛(随机试验法)
搬代码:from __future__ import print_function## Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work f原创 2017-12-29 17:10:05 · 2113 阅读 · 0 评论 -
阅读《啊哈!算法》中的快速排序的Java实现
快速排序经常在考,需要掌握,基本原理:一趟就是左右哨兵碰头了,即交换一次基准数。Java实现:package com.hwb.app;public class QuickSort { static void Print(int a[]){ for(int i=0; i<a.length; i++) { System.out.print(a[i] + (i<a.l原创 2018-01-06 20:18:32 · 220 阅读 · 0 评论 -
了解一下密钥交换算法ECDH
搬一下别人的解释:下面我们以Alice和Bob为例叙述Diffie-Hellman密钥交换的原理。1,Diffie-Hellman交换过程中涉及到的所有参与者定义一个组,在这个组中定义一个大质数p,底数g。2,Diffie-Hellman密钥交换是一个两部分的过程,Alice和Bob都需要一个私有的数字a,b。下面是DH交换的过程图:本图片来自wiki下面我们进行一个实...转载 2019-08-16 19:10:27 · 6045 阅读 · 0 评论