一、熵编码概念:熵越大越混乱信息学中的熵:用于度量消息的平均信息量,和信息的不确定性越是随机的、前后不相关的信息,其熵越高信源编码定理:说明了香农熵越信源符号概率之间的关系信息的熵为信源无损编码后平均码长的下限任何的无损编码方法都不可能使编码后的平均码长小于香农熵,只能使其尽量接近熵与混乱程度:
混乱度越高的信源,越难以被压缩,需要更大量的信息来表示其排列顺序熵编码基本思想:
是使其前后的码字之间尽...
第一章 算法在计算中的作用 1.1 算法算法是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或者值的集合作为输出。对每个输入实例,算法都以正确的输出停机,则称该算法是正确的。算法的运行时间:$\log{n} < \sqrt{n} < n < n\log{n} < n^2 < n^3 < 2^n < n!$原文:http://www.cnblogs.com/lainey/p/7904233.html
数据结构与算法中的图
1. 图的定义及术语无向图有向图完全图稀疏图密集图顶点的度入度出度
子图路径回路网络
2. 图的存储结构相邻矩阵有向图的相邻矩阵无向图的相邻矩阵
邻接表无向图的邻接表表示带权图的邻接表表示有向图的邻接表(出边表)有向图的逆邻接表(入边表)
十字链表
3. 图的遍历深度优先遍历(depth-first search)广度优先遍历(breadth-first search)
4. 最短路径单源最短路径(single-source shortest paths)迪杰斯...
1.什么是filter
通常一个6x6的灰度图像,构造一个3*3的矩阵,在卷积神经网络中称之为filter,对6x6的图像进行卷积运算。
2.什么是padding
假设输出图像大小为nn与过滤器大小为ff,输出图像大小则为(n?f+1)?(n?f+1)(n?f+1)?(n?f+1)(n-f+1)(n-f+1)。
这样做卷积运算的缺点是,卷积图像的大小会不断缩小,另外图像的左上角的元素只被一个输出所使用,所以在图像边缘的像素在输出中采用较少,也就意味着你丢掉了很多图像边缘的信息,为...
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化. 例子: 数组:[1,1,2,2,3,3,4,5,7,10] 输出::[1,2,3,4,5,7,10] 实现(1): var arr =new Array(1,1,2,2,3,3,4,5,7,10); var len = arr.length; for(var i=len-1;i>=1;i--) { if(arr[i-1] == arr[i]) { arr.splice(i,1); } } alert(arr); 实现(2): var arr ...
unicode字符集是我们世界上最完善最全面的字符集,几乎包含了世界上所有的字符。其实可以这么理解,unicode字符集是一张巨大的表格,把世界上各种语言的字符和标点符号都编排到里面,然后按照一定的顺序给每个字符排号(很遗憾的是对于中文来说,这个顺序不是按照汉语拼音的顺序)。有了这张巨大的表格,世界上大部分字符就都有一个unicode内码(整数)来对应。计算机就通过记录字符的unicode码来表示这个字符,然后交给操作系统,...
当调用元素 A 的 offsetParent 属性时,必须按以下算法返回元素。 以下任一条件为真时,返回 null,并停止本算法。 A 是根元素。 A 是 HTML 的 body 元素。 元素 A 的 position 属性计算值是 fixed。注 1 如果 A 是 HTML 元素 area,并且在其上级元素链中有 HTML 元素 map,返回上级元素链中距 A 最近的 HTML 元素 map,并停止本算法。注 2 如果以下任一条件为真时,返回距 A 最近的符合下述条件的上级元素,并停止本算法。 上级元...
学习起因曾经有一次在逛V2EX时,碰到这么一个帖子。
数学完全还给老师了,想学回一些基础数学,大概是高中程度的,有什么书籍推荐?
发帖的楼主大学没有高数课程,出去工作时一直在从事前端的工作。感觉到数学知识的匮乏,所以想补一补数学。
看了看帖子,感觉和我很像,因为我的专业是不开高数的,我学的也是前端。也同样感觉到了数学知识匮乏所带来的困顿。同时因为自己的数学思维实在是不怎么好,所以决定努力补习数学与计算机基...
链表简介链表是一种常见的数据结构,也属于线性表,但不会按线性的顺序来储存数据。而是在每一个节点中,储存了下一个节点的指针。可以看图理解。(有C语言基础的可能比较好理解)。
使用链表结构可以克服数组需要预先知道数据大小的缺点(C语言的数组需要预先定义长度),链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
接下来就是介绍两种常见的链表: 单向链表,双向链表在JavaScript中的实现。单向链表链表中最简单...
集合(Set)说起集合,就想起刚进高中时,数学第一课讲的就是集合。因此在学习集合这种数据结构时,倍感亲切。
集合的基本性质有一条: 集合中元素是不重复的。因为这种性质,所以我们选用了对象来作为集合的容器,而非数组。
虽然数组也能做到所有不重复,但终究过于繁琐,不如集合。集合的操作集合的基本操作有交集、并集、差集等。这儿我们介绍JavaScipt集合中交集、并集、差集的实现。
JavaScipt中集合的实现首先,创建一个构造函...
本文实例讲述了Javascript实现的SHA-256算法。分享给大家供大家参考,具体如下:/**
*
* Secure Hash Algorithm (SHA256)
* http://www.webtoolkit.info/
*
* Original code by Angel Marin, Paul Johnston.
*
**/
function SHA256(s){var chrsz = 8;var hexcase = 0;function safe_add (x, y) {var lsw = (x & 0xFFFF) + (y & 0xFFFF);var msw = (x >> 16) + (y >> 16) + (lsw >> 16);return (msw >> n ) | (X >> n ); }function ...
一.冒泡排序function BubbleSort(array) {var length = array.length;for (var i = length - 1; i > 0; i--) { //用于缩小范围for (var j = 0; j array[j+1]) { var temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}console.log(array);console.log("-----------------------------");}return array;
}var arr = [10,9,8,7,7,6,5,11,3];
var result = BubbleSort(arr);
console.log(result);
/*
[ 9, 8, 7, 7, 6, 5,...
冒泡排序示例,双向冒泡排序与对双向冒泡排序稍微的改进的可视化效果。代码很简单,不知道有木有未知bug。
大神请勿吐槽
冒泡排序示例var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];for(var i=0;ils[j]){ls[i]=ls[i]+ls[j];ls[j]=ls[i]-ls[j];ls[i]=ls[i]-ls[j];} }}双向冒泡排序示例var ls=[ 6,13,98,25,38,...
如何计算某一天是星期几? —— 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要...