
Algorithm
文章平均质量分 71
dqjyong
这个作者很懒,什么都没留下…
展开
-
集体编程智慧(2)
随机搜索: 该方法接受两个参数,Domain和costf,其中Domain是一个由二元组构成的列表,指定了每个变量的最大最小值。而costf胃成本函数,为其他优化问题所重用,它会跟踪最佳猜测(即具有最低成本的题解)并将结果返回。 本质:随机选择出一些题解,并进行尝试,比较得出尝试解中的最佳值,但不一定是问题的全局最优值。 爬山法:以一个随机解开始,然后在其原创 2012-12-10 23:22:45 · 1687 阅读 · 0 评论 -
集体编程智慧(1)
人:非凡能力,不管对错,对未来有一定的预判(我觉得也是受限于人的知识储备,否则对新的信息进行决策时,仍然不能从中识别出相似的信息);机器:受限于大量模式之上的归纳能力。因此若出现不同于算法先前所曾见到过的任何其他模式,就可能被“误解”。 1.生物工艺学:测序技术和筛选技术(算法导论中的动态规划算法来实现LCS计算)——DNA序列、蛋白质结构;2.金融欺诈侦测:信用卡公司侦测交易是否原创 2012-12-10 23:14:32 · 1336 阅读 · 0 评论 -
ACM经典书籍推荐~~
学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。在这里列出一些我看过或者准备看的算法书籍,以供参考。 1. CLRS 算法导论 算法百科全书,只做了前面十几章的习题,便感觉受益无穷。 2. Algorithms 算法概论 短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息转载 2012-11-24 10:50:13 · 831 阅读 · 0 评论 -
全球机器学习ML、机器视觉CV、 图像处理PP领域的学习站点
牛人主页(主页有很多论文代码)Serge Belongie at UC San DiegoAntonio Torralba at MITAlexei Ffros at CMUCe Liu at Microsoft Research New EnglandVittorio Ferrari at Univ.of Edinburgh转载 2012-12-02 12:30:09 · 8937 阅读 · 2 评论 -
字符串数组的全排列到八皇后问题详解
1.记得在一次面试终要求写一个程序,程序题目为:输入字符串的全排列:例如输入字符串为abc,那么他的全排列有abc,bac等六种。尝试确定输入字符串的全排列,并输出。字符串全排其实是一个数学问题,根据数学计算可以知道,程序的复杂度为O(n!),并且没有比较明显的改善算法。比较常见的算法都是将问题变为一个子问题,然后对子问题进行反复迭代,得出最终的结果。而子问题就是采用字母固原创 2012-08-11 23:01:22 · 2163 阅读 · 0 评论 -
进程死锁的危害、导致原因、解决方法
在多个程序同时执行的情况下,多个进程可能出现竞争一定数量的资源。若某个进程申请资源,且此时资源不可用,那么该进行将进入等待状态。如果所申请的资源被其他等待进程占有,那么该等待进程有可能永远处于等待状态而无法改变该状态。——这种情况即为死锁。 或许你认为进程死锁就死锁呗,那又能怎么样?那么先说出它的危害吧! 当出现死锁时,进程永远不能完成,原创 2012-10-07 22:19:34 · 14697 阅读 · 0 评论 -
任务处理——最优化问题
问题描述:Student A took 5 courses this semester. Below table lists due time to submit his homework from now on. It also lists the time to finish those works.As the time is limited, some homework c原创 2012-08-11 23:51:34 · 2209 阅读 · 0 评论 -
雅虎面试题之链表操作
题目:给定一个无环的单向单链表,将链表的奇数节点按顺序连接,而偶数节点则反向连接,并且将链表的奇数项节点与偶数项连接起来。 要求:1.空间复杂度必须为常数; 2.时间复杂度不作要求。 分析:假设没有空间复杂度的要求,那么可以将原链表的奇数项和偶数项先存下来,然后将偶数节点进行反转,最后将偶数项组成的链表接到奇数项原创 2012-08-04 21:36:39 · 2014 阅读 · 0 评论 -
SPDY:一种更快速web的实验协议
网页加速速度快慢的影响可以从数据中看出:网页加载超过4秒,25%人会放弃;手机网页超过10秒,50%用户会放弃,60%人不再返回;Google搜索结果慢0.4秒,一天搜索量减少800万次;40%移动购物者会放弃加载时间超过3秒的网站;亚马逊每天销售额约6700万美元,网页延迟1秒可导致全年损失16亿美元。谷歌针对网页加载速度的问题,对HTTP协议进行改进,提出了一种SPDY的协议,下面翻译 2012-07-19 11:21:35 · 1699 阅读 · 0 评论 -
二叉树操作的基本操作
节点定义:typedef struct Node{ int data; Node* rChild; Node* lChild;} *BinTree;创建2叉树:int array[31]={1,2,4,8,0,0,9,0,0,5,10,11,0,0,0,0,3,6,12,0,0,13,0,0,7,14,0,0,15,0,0};void Create原创 2012-08-02 23:44:56 · 1151 阅读 · 0 评论 -
网易面试题之求出树的直径
给定一颗二叉树,求出树中的任意两个节点之间的最大距离,即树的直径。 从这个题目可以看到,树中任意两个节点的最大距离,显然应该是不同叶子间的最大距离。我们可以根据树的节点分布情况分情况考虑如何求树的直径。 情况1:对于一般的树,根结点的左子树与右子树平衡,如图1。左子树与右子树的叶子节点的最大距离,应该为左子树的深度加上右子树的深度,然后加1,即为树的直径。原创 2012-08-02 23:00:59 · 6060 阅读 · 1 评论 -
面试题(2012年7月)
红黑树与平衡二叉树的区别: 红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。AVL树的复杂比起红黑树来说简直是小巫见大巫。红黑树是真正的变态级数据结构。 Objective C中NSArray中有元素为nil,那么对NSArray中元素的影响。 类的构造函数为private属性时,类原创 2012-08-02 13:31:43 · 1324 阅读 · 1 评论 -
详细剖析:杨氏矩阵Young Taleau数据结构
杨氏矩阵YOUNG Tableau,作为一个既类似于二叉排序树(BST),又类似于堆结构的一种简单数据结构。乍看一下,其实就是一个二维数组,但是该数据结构有着明显的特点,即数组的每一行元素严格单调递增(当然也可以递减),同时每一列的元素也是严格单调递增(同前面)。有了这种特点,使得它对于查找某些元素,比堆的性能要好;而对于插入或者删除元素,比BST更方便。 杨氏矩阵数据结构的特点有原创 2012-06-09 19:18:17 · 2151 阅读 · 0 评论 -
随机排列数组
再次翻出算法导论,随机翻倒了随机排列数组这个部分,感觉数学是如此神奇! 首先,何谓随机排列数组。随机排列数组即通过排列给定的输入数组使数组元素的排列随机化,例如一个数组A[n],其中元素为的值为{1,2...,n},那么对数组进行随机排列,显然是有n!次不同的排列,并且每一次的排列都不一样。如何把数组元素排列随机化呢? 一个常用的方法就是为数组的每一个元素A[i]赋一原创 2012-06-08 21:33:49 · 1827 阅读 · 0 评论 -
新奇的排序,求答案!
今天看到某位提出的一个算法题,觉得还有点意思,并且该题是他们的算法考试题。题目为:有一个整数乱序的序列,序列中每个数范围为0到k,有两种操作可以用:a)将序列中某个数减少x,操作消耗为xb)将某个数删除,操作消耗为该数的值求一个消耗最少的方案,只使用这两个操作,让这个序列成为一个递增的序列。真诚求答案。原创 2012-06-16 15:21:49 · 1111 阅读 · 0 评论 -
为什么自己写的快速排序要比algorithm命名空间下的sort要慢?
最近几天一直被poj上的一个题目困扰着,倒不是问题有多难,而是老是超时,而且超时不打紧,要命的是程序的主要耗时程序为排序部分,自己写的如下快速排序代码:void swap(int *num1, int *num2) { int temp = *num1; *num1 = *num2; *num2 = temp; } int partition(int num原创 2012-12-30 00:12:26 · 3640 阅读 · 1 评论