![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Coursera Algorithms
文章平均质量分 71
5262yz
这个作者很懒,什么都没留下…
展开
-
Programming Assignment 5: Kd-Trees
Kd-Trees利用树解决几何搜索问题。 这里实现了范围搜索和最近邻搜索。 所谓范围搜索,即指定一个矩形范围,找到位于这个范围内的所有点。 所谓最近邻搜索,即指定一个查询点,找出点集中离这个点距离最近的一个点。 PointSET.javaPointSET使用暴力方法实现,线性级别时间代价。 对于大样本搜索不太适用。 import edu.princeton.c...原创 2017-04-07 12:40:56 · 1186 阅读 · 0 评论 -
Programming Assignment 4: 8 puzzle
8 puzzle使用A*搜索算法解决8-puzzle问题。Board.javaBoard类用来表示一个n∗nn∗nn*n的网格,其中有n2−1n2−1n^2-1个方块,每个从1标记到n2−1n2−1n^2-1,还有一个方块是空。 这里提供了计算Hamming距离和Manhattan距离的方法。也提供了计算其“双胞胎”Board的方法。 import java.util....原创 2017-03-29 21:56:30 · 2656 阅读 · 0 评论 -
Programming Assignment 3: Pattern Recognition
Pattern Recognition给定点的集合,实现对于线段的识别。Point.javaPoint类中主要实现了关于点和斜率的比较方法import java.util.Arrays;import java.util.Comparator;import edu.princeton.cs.algs4.StdDraw;import edu.princeton.cs.al...原创 2017-03-20 16:12:31 · 2201 阅读 · 2 评论 -
Programming Assignment 1: Percolation
Percolation实现Percolation模型。 用蒙特卡罗模拟估计渗滤阈值的值。关于backwash问题:有了一个虚拟底层位置,如果网格已经渗透了。这时判断其中一个位置(与底部相连,并且底部是打开的,与虚拟底层位置相连)是否满(即与虚拟顶层位置是相连的),那么不管这个位置是不是真的满,结果总会是满的。因为网格已经渗透了,那么虚拟顶层位置与虚拟底层位置总是相连的,而这个位置与虚拟顶...原创 2017-02-28 21:20:59 · 1987 阅读 · 0 评论 -
Programming Assignment 2: Deques and Randomized Queues
Deques and Randomized Queues实现泛型双端队列和随机队列。Deque.java双端队列使用链表实现,双向链表,有next和prev两个引用,分别指向下一个和上一个结点。import java.util.Iterator;import java.util.NoSuchElementException;import edu.princeton.cs...原创 2017-03-10 22:46:04 · 1624 阅读 · 0 评论