Coursera
文章平均质量分 65
TeeEye
自律即自由
展开
-
KdTree理解与实现(Java)
KdTree理解与实现(Java)抛出问题KdTree简介原理简介代码实现Point.javaRect.javaKdTree.java复杂度比较结语 抛出问题 如果让你设计一个外卖系统,你的数据库中有所有外卖商家所在的经纬度,那么如何能有效地根据用户的位置筛选出所有附近的商家? 最直接的方法是根据城市或者城市的每个区(如崂山区,市南区…)来对商家进行分类,然后根据用户所在的区返回同一区域下的所有商...原创 2018-10-14 10:32:34 · 3723 阅读 · 6 评论 -
温习Algs4 (一):背包, 栈, 队列和线性表
背包 背包是最简单的数据结构, 只有添加数据和遍历元素两个功能, 内部实现是链表. Bag.java /****************************************************************************** * Compilation: javac Bag.java * Execution: java Bag * Autho...原创 2018-11-29 10:56:16 · 458 阅读 · 0 评论 -
温习Algs4 (二):优先级队列(堆)
优先级队列 优先级队列 (Priority Queue) 实质上是一个堆, 支持的操作是push和pop, pop时总是返回当前队列中的最小(大)值. PQ.java /****************************************************************************** * Compilation: javac PQ.java * ...原创 2018-11-30 09:13:01 · 186 阅读 · 1 评论 -
温习Algs4 (三):无向图, 搜索和连通分量
无向图 对于一般算法题来说图的实现方式是邻接矩阵, 但是对于稀疏图来说用邻接表来实现比较实惠一点. 图的API多种多样, 我这里实现的API有: 添加边 获得该图的顶点数和边数 遍历一个点的所有邻接点 获得一个点的degree Graph.java /************************************************************************...原创 2018-11-30 20:45:24 · 167 阅读 · 0 评论 -
温习Algs4 (四):有向图, 拓扑排序和强连通分量
有向图 有向图的实现和无向图除了 addEdge() 以外一模一样, 不过有向图多了一个方法 reverse() , 该方法返回这个有向图的逆图 (即将原图的所有边翻转方向), 在下文的强连通分量中会用到. Digraph.java /****************************************************************************** * ...原创 2018-12-02 00:42:44 · 246 阅读 · 0 评论 -
温习Algs4 (五):并查集, 最小生成树
并查集, 带权图和最小生成树并查集UnionFind.java带权边和带权图WeightedEdge.javaEdgeWeightedGraph.java最小生成树APIMST.javaPrim算法Prim.javaKruskal 算法Kruskal.java复杂度分析 并查集 英文名 Union Find, (UF). 是一个基于森林的数据结构, 支持的操作是 连接两个节点 判断两个节点是否相...原创 2018-12-05 21:18:10 · 166 阅读 · 0 评论 -
温习Algs4 (六):网络流
网络流数据模型FlowEdge.javaFlowGraph.javaMax Flow APIMaxFlow.java最大流 Ford-Fulkerson算法FordFulkerson.java 数据模型 网络流图是在有向图的基础上, 每条边多了两个属性: 流量和最大容量, 因此先定义网络流的边类 FlowEdge: FlowEdge.java /**************************...原创 2018-12-15 12:01:17 · 188 阅读 · 0 评论 -
温习Algs4 (六):有向带权图,最短路径
有向带权图, 最短路径有向带权图WeightedDirectedEdge.javaEdgeWeightedDigraph.java最短路径SP.javaDijstra算法Dijstra.javaBellman-Ford最短路径算法BellmanFord.java算法比较 有向带权图 有向带权图的API和有向图的几乎一样, 不再赘述 WeightedDirectedEdge.java /******...原创 2018-12-10 11:36:13 · 1074 阅读 · 0 评论