记录几个前端笔面试中遇到的算法 1、冒泡排序 function bubble_sort(A) { var l = A.length for (var i = 0; i < l; i ++) { for (var j…
分类:算法
冒泡排序的几种实现
原理 冒泡排序算法的基本思想为:假如待排序线性表的长度为 n,要使其从小到大排序,从前往后两两比较相邻元素的关键字,若第i+1个元素比第i个小,则交换它们,直到遍历整个线性表。每趟交换以后最后一个元素一定是最大的,不再参…
跳表的实现
最近看了一下跳表,看了文章 http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html的实现,本想参照这个流程用c++类实现一下,结果却出现一些问题…
[leetcode] - 328. Odd Even Linked List
题意是要将所有序号为奇数的节点全部放在链表前面,序号为偶数的连在最后一个奇数节点后面,并且不能打乱顺序。主要序号定义为从节点头顺序编号,不是指节点的值。 这道题略坑,本想着可以直接ac的,代码也比较优雅, 结果发现lee…
Knuth重排算法
Knuth重排算法,又称洗牌算法,费歇尔算法。是一种很简单的洗牌算法,在游戏工程中可能用到,在这里整理一下。 C++实现: void ShuffleVector(vector<int>& number…
用c语言写一个网络爬虫
(同步个人博客 http://sxysxy.org/blogs/28 到csdn 写一个网络爬虫 写一个网络爬虫,来获取一个网站上感兴趣的信息。 最基本的模型 就是图。每个页面看作一个节点,若页面A有到达页面B的链接,则…
二叉树的非递归遍历
http://blog.csdn.net/cxllyg/article/details/7520037 http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153…
Java实现二分查找算法(元素可重复)
一、什么是二分查找? 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将…
蜂窝模型
http://btbear.blogchina.com/inc/fwmx.pdf 本文是讲述“蜂窝模型”的,用 LaTeX + MetaPost 编写。 [摘要]:蜂窝模型通过为蜂窝样式的结构组织三种座标系,从而大大简化…
麻将胡牌算法n*AAA+m*ABC+DD实现时间复杂度O(n*2)
麻将胡牌算法实现——时间复杂度O(n*2) 本文有博主在一家棋牌公司写的胡牌算法总结,如果有错误的地方,欢迎矫正: 胡牌规则(不包括十三么) 牌的总数为3*sum+2 必须有一对对子 剩余的牌三三组合均能组合成顺子或者是…
js实现微信抢红包
金额随机:额度在0.01和(剩余平均值*2)之间。 /** * 抢红包 * @param {[number]} totalAmount [总金额] * @param {[number]} totalPeople [总人数…
(未完成)《剑指offer》(面试题16):反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 以这道题为例,我们至少应该想到几类测试用例对代码做功能测试: 输入的链表头指针是 NULL。 输入的链表只有一个结点。 输入的链表有多个结点…