- 博客(6)
- 收藏
- 关注
原创 哈希表算法
今天大概讲一讲哈希表的原理,构造,冲突等。哈希(HASH)是什么,其实哈希就是一种映射,将一些线性数据通过一个函数h算出一个值作为下表,定义一个A数组单元来按照下标储存数据。举例:离散优化就是一种特殊的哈希,它的函数比较简单。 如图,如果这个数组的数据下标不大的话,我们就可以直接排序算出距离,但当下标太大时,我们开不出那么大的数组,所以我们就可以采用一种特殊的哈
2016-07-27 00:13:38
425
原创 网络流Ford-fulkerson算法及dinic算法
当一个图中的每条边都拥有流量和最大流量时,我们一般就会求整个图的最大流量,这种问题就是网络流的最大流问题。一开始我们考虑使用贪心,遍历一条路,找到整条路上的最大流量的最小值,储存,然后更新各点,当某边流量值等于最大流量值时,删除该边,再次遍历知道没有从源点到汇点的路径。但经过简单的验证我们发现,以上的贪心算法算出的结果不一定是最优解。原因是什么?原因就是贪心过早地“填满了一条边”,
2016-07-20 23:19:05
906
1
原创 无向图中的tarjan 算法及其割点、割边
Dfn数组记录搜索到该点的时间。Low数组是一个标记数组,记录该点所在的强连通子图所在搜索子树的根节点的Dfn值。以上是有向图的low、dfn定义,实际上无向图与其类似。在实际运用之前,先看下列一些定义:割点:在一连通图内(无向),去掉一点,则该连通图不再连通,而化成数个子图,则该点被称为割点;,有时必须去掉两个或更多的点连通图才能不再连通,达到割点的效果,这些点被称为割点集合
2016-07-19 23:33:58
2129
1
原创 拓扑排序与AOE图关键路径
今天大概讲一下拓扑排序和基于此的AOV网关键路径拓扑排序:大概流程:选择一个入度为0的顶点并输出 然后从AOV网中删除此顶点及以此顶点为起点的所有关联边; 重复上述两步,直到不存在入度为0的顶点为止。 若输出的顶点数小于AOV网中的顶点数,则说明“有回路”,否则输出的顶点序列就是一种拓扑序列具体实现拟采用栈的先进后出结构,进出依据的是是否有子节点,若没有子节点则入栈,删除所有与
2016-07-17 23:52:34
2201
1
原创 最小生成树(minimum spanning tree)问题的两种解法
最小生成树实际上就是最小连通图,找最小生成树就是找权值和最小连通图。以下题为例:城市公交网建设问题【问题描述】 有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少?【输入格式】
2016-07-15 22:43:32
3783
2
原创 宁静中的变化,繁华中的人生
计算机语言,无论是c,c++,vb或者其他语言,大致思想都相同。接触这各领域接近一年了,也从中悟出许多道理吧。编程这个东西,看上去是死的,知识点、算法、数据结构固定。但实际上静是相对的,动是绝对的。任几种简单的算法结合起来就会发生奇妙的化学反应,需要考虑的点很多。几个算法的易错点混合在一起,就给人一种剪不断理还乱的头疼感。有时候,一些代码的思想可以被清晰而简洁的叙述出。但到了真正编写的时候我就
2016-07-14 20:19:52
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人