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有:添加边获得该图的顶点数和边数遍历一个点的所有邻接点获得一个点的degreeGraph.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 评论