
数据结构与算法
文章平均质量分 90
Tcorpion
写着代码,喜欢着东方姑娘,陈乔恩
展开
-
红黑树-JAVA实现(红黑树插入和删除)
红黑树介绍红黑树是平衡二叉查找树的一种。平衡树在插入和删除的时候,会通过旋转操作将高度保持在logN。其中两款具有代表性的平衡树分别为AVL树和红黑树。AVL树由于实现比较复杂,而且插入和删除性能差,在实际环境下的应用不如红黑树。红黑树(Red-Black Tree,以下简称RBTree)的实际应用非常广泛,比如Linux内核中的完全公平调度器、高精度计时器、ext3文件系统等等,各种原创 2017-02-10 12:41:08 · 5745 阅读 · 2 评论 -
遗传算法
在2017华为软件精英挑战赛这个组合优化问题,看了些讲解搜索算法的书,再找找网上的博客资料对比,发现这篇遗传算法文章讲得挺简洁明晰。在华为软件精英挑战赛的练习用例里面,迭代一万代只用了20s左右,结果收敛得挺好!遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数转载 2017-03-20 19:49:15 · 2498 阅读 · 2 评论 -
最小费用流的zkw算法
最小费用最大流ZKW算法转载 2017-04-07 21:50:17 · 1113 阅读 · 0 评论 -
几种最短路径算法的比较
用于解决最短路径问题的算法被称做“最短路径算法”,有时被简称作“路径算法”。最常用的路径算法有:Dijkstra算法、A*算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法,本文主要介绍其中的三种。最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括:确定起点的最短转载 2017-03-23 21:20:27 · 2026 阅读 · 0 评论 -
SPFA最短路径算法图解
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。算法思想:我们用数组d记录每个结点的最短路径估计值,用邻接表来存储图G。我们采取的方转载 2017-03-23 21:24:32 · 1119 阅读 · 0 评论 -
网络流问题-最小费用最大流
继续沿着2017华为软件精英挑战赛,查阅了一些【最小费用最大流】相关的资料。今年的赛题归结为:组合优化+最小费用最大流两个子问题,给定的服务器选址下求出最小费用最大流作为底层的算法支撑会很好提升最终的结果,服务器的选址这个组合优化问题有很多解决方案,我采用遗传算法有较好收敛(参考上一篇博文“遗传算法”)。 先列出一堆不错的博文: 1. http://ww原创 2017-03-22 16:02:48 · 7628 阅读 · 0 评论 -
堆--优先级队列
前段时间要用堆,java里面的优先级队列PriorityQueue没有这么一个功能:堆里元素更改后没法确定最值的真假,因为没有再次更新堆。于是自己动手写了个堆,加了refresh()方法把元素再进行一下上浮下沉操作,要最值的时候refresh一下就再也不担心堆里元素被更改了原创 2017-04-06 10:30:09 · 374 阅读 · 0 评论 -
局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍本文主要介绍一种用于海量高维数据的近似最近邻快速查找技术——局部敏感哈希(Locality-Sensitive Hashing, LSH),内容包括了LSH的原理、LSH哈希函数集、以及LSH的一些参考资料。一、局部敏感哈希LSH在很多应用领域中,我们面对和需要处理的数据往往是转载 2017-06-15 23:40:58 · 663 阅读 · 1 评论 -
MCMC算法
参考以下:1. https://blog.youkuaiyun.com/qq_23142123/article/details/71747074?locationNum=13&fps=1 (看了后略懂)2. https://blog.youkuaiyun.com/lanchunhui/article/details/50451620 3. https://blog.youkuaiyun.com/lanchunhui/art...转载 2018-06-26 08:44:56 · 1755 阅读 · 0 评论