摘要:
例子: 3-Sum 给定N个整数,这里面有多少个三元组,使其三个整数相加为0,如上面的例子为有4个三元组。 这个问题是许多问题如计算机几何,图形学等的基础. 用简单粗暴的方式来解决3-Sum问题 通过三个for循环来执行 那么怎么计算它运行的时间呢? Java有一个内嵌的函数来计算运行时间:Stop 阅读全文
摘要:
一系列的人物角色 Programmer,client,theoretician和blocking 学生可能会承担里面的一个或者多个角色 Running time 提出running time这个概念的可能要追溯到很远的时候,那时通过analytic engine来计算how many times t 阅读全文
摘要:
Union-find 可以应用在很多方面 之前我们看到了union-find在dynamic connectivity上的应用,接下来介绍它在percolation上的应用。 union-find在Kruskal's minumum spanning tree algorithm(一种图像处理算法) 阅读全文
摘要:
Quick union improvements1: weighting 为了防止生成高的树,将smaller tree放在larger tree的下面(smaller 和larger是指number of objects),而不是将larger tree放在smaller tree的下面(如上图中 阅读全文
摘要:
Quick union算法 Quick union: Java implementation Quick union 性能分析 在最坏的情况下,quick-union的find root操作cost(访问array的次数)会达到N. 所以quick-union的性能也不好。 阅读全文
摘要:
解决dynamic connectivity的一种算法:Quick find Quick find--Data sturcture 如果两个objects是相连的,则它们有相同的array value. Quick find--find&union operation Find很好实现,只需要查看它 阅读全文
摘要:
设计算法一般所使用的方法过程 什么是Dynamic connectivity 我们的problem就是支持这两种操作: Union与connected query Example 问题是两个objects之间有path吗,而不是找出这条path(找出这条path将更复杂,在课程的第二部分将会介绍) 阅读全文
摘要:
收集大量的数据可能比算法的优劣更重要Banko和Brill在2001年做了一个研究,是关于在句子中对易混单词进行识别,画出了上图的右边的那个图,这个图显示了对于不同的算法,它们的表现相似,但是随着training set size的增加,不同的算法的性能都增加。这个说明了一个较劣势的算法,如果它有大... 阅读全文
摘要:
preision与recall之间的权衡依然是cancer prediction的例子,预测为cancer时,y=1;一般来说做为logistic regression我们是当hθ(x)>=0.5时,y=1;当我们想要在预测cancer更确信时(因给病人说他们有cancer会给他们带来很重大的影响,... 阅读全文
摘要:
skewed classesskewed classes: 一种类里面的数量远远高于(或低于)另一个类,即两个极端的情况。预测cancer的分类模型,如果在test set上只有1%的分类误差的话,乍一看是一个很好的结果,实际上如果我们将所有的y都预测为0的话(即都不为cancer),分类误差为0.... 阅读全文