学习起因曾经有一次在逛V2EX时,碰到这么一个帖子。 数学完全还给老师了,想学回一些基础数学,大概是高中程度的,有什么书籍推荐? 发帖的楼主大学没有高数课程,出去工作时一直在从事前端的工作。感觉到数学知识的匮乏,所以想补一补数学。 看了看帖子,感觉和我很像,因为我的专业是不开高数的,我学的也是前端。也同样感觉到了数学知识匮乏所带来的困顿。同时因为自己的数学思维实在是不怎么好,所以决定努力补习数学与计算机基...
链表简介链表是一种常见的数据结构,也属于线性表,但不会按线性的顺序来储存数据。而是在每一个节点中,储存了下一个节点的指针。可以看图理解。(有C语言基础的可能比较好理解)。 使用链表结构可以克服数组需要预先知道数据大小的缺点(C语言的数组需要预先定义长度),链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 接下来就是介绍两种常见的链表: 单向链表,双向链表在JavaScript中的实现。单向链表链表中最简单...
集合(Set)说起集合,就想起刚进高中时,数学第一课讲的就是集合。因此在学习集合这种数据结构时,倍感亲切。 集合的基本性质有一条: 集合中元素是不重复的。因为这种性质,所以我们选用了对象来作为集合的容器,而非数组。 虽然数组也能做到所有不重复,但终究过于繁琐,不如集合。集合的操作集合的基本操作有交集、并集、差集等。这儿我们介绍JavaScipt集合中交集、并集、差集的实现。 JavaScipt中集合的实现首先,创建一个构造函...
本文实例讲述了JavaScript实现MD5算法的方法。分享给大家供大家参考,具体如下:/** * * MD5 (Message-Digest Algorithm) * http://www.webtoolkit.info/ * **/ var MD5 = function (string) {function RotateLeft(lValue, iShiftBits) {return (lValue>>(32-iShiftBits));}function AddUnsigned(lX,lY) {var lX4,lY4,lX8,lY8,lResult;lX8 = (lX & 0x80000000);lY8 = (lY & 0x80000000);lX4 = (lX & 0x40000000);lY4 = (lY & 0x400...
本文实例讲述了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 ...
本文实例讲述了JavaScript实现的SHA-1加密算法。分享给大家供大家参考,具体如下:/** * * Secure Hash Algorithm (SHA1) * http://www.webtoolkit.info/ * **/ function SHA1 (msg) {function rotate_left(n,s) {var t4 = ( n>>(32-s));return t4;};function lsb_hex(val) {var str="";var i;var vh;var vl;for( i=0; i>>(i*4+4))&0x0f;vl = (val>>>(i*4))&0x0f;str += vh.toString(16) + vl.toString(16);}return str;};function...
今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到。其中部分算法来自网络,这里做了下汇总整理。文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的可以到参考文献里去看,讲解的非常不错。 一、数组去重方法1://利用数组的indexOf方法 function unique (arr) {var result = []; for (var i = 0; i 方法2://利用hash表,可能会出现字符串和数字一样的话出错,如var a...
笔试面试经常涉及各种算法,本文简要介绍常用的一些算法,并用JavaScript实现。1、插入排序1)算法简介插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提...
本文为大家分享了五个javascript算法,供大家参考,具体内容如下1. 线性查找线性查找数组为:[2,4,6,23,53,545,65,3,24,5,3,6]输入要查的值:这个值在数组的位置是: //1.声明查找函数//Arr为数组,x为要搜索的值function search(Arr,x){for(var i=0; i2.二分查找二分查找温故//二分查找值适用于已经排好序的数组中//二分就是逢中查找 步骤较少var arr=[-13,2,4,6,8,12,34,35,45,56,57,88,110,234,239,342];//有序数组function bi...
制做一个活动页面 秒杀列表页 需要一个时间的算法排序 自己琢磨了半天想了各种算法也没搞出来,后来问了下一个后台的php同学 他写了个算法给我看了下 ,刚开始看的时候觉得这就是个纯算法,不能转化成页面的dom效果,可是再看了两遍发现可以, 于是我就改了改,实现了,先分享给大家。 页面需求是:从11点到20点 每隔一个小时一场秒杀 如果是当前时间就显示正在秒杀 之前的商品就往最后排 以此类推 类似最开始的11点顺序是 11,12,1...
推荐阅读:JavaScript学习笔记之数组的增、删、改、查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列。举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9:从上面这个数组入手,我们要做的就是打乱数组内元素的顺序:代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的...
一.冒泡排序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,...
概述Java语言中,提供了一套数据集合框架,其中定义了一些诸如List、Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList。除此之外,Java对于数据集合的遍历,也提供了几种不同的方式。开发人员必须要清楚的明白每一种遍历方式的特点、适用场合、以及在不同底层实现上的表现。下面就详细分析一下这一块内容。数据元素是怎样在内存中存放的?数据元素在内存中,主要有2种存...
代码如下:var Vigenere = { _strCpr: abcdefghijklmnopqrstuvwxyz_12345 67890.ABCDEFGHIJKLMNOPQRSTUVWXYZ,//可以将此字符串的顺序打乱点,或者添加更多字符 _strKey: function(strK,str){//生成密钥字符串,strK为密钥,str为明文或者密文 var lenStrK = strK.length; var lenStr = str.length; if(lenStrK != lenStr){//如果密钥长度与str不同,则需要生成密钥字符串 if(lenStrK < lenStr){//如果密钥长度比str短,则以不断重复密...
作为排序依据的数据项称为“排序码”,也即数据元素的关键码。为了便于查找,通常希望计算机中的数据表是按关键码有序的。如有序表的折半查找,查找效率较高。还有,二叉排序树、B-树和B+树的构造过程就是一个排序过程。若关键码是主关键码,则对于任意待排序序列,经排序后得到的结果是唯一的;若关键码是次关键码,排序结果可能不唯一,这是因为具有相同关键码的数据元素,这些元素在排序结果中,它们之间的的位置关系与排序前不...