
数据结构
DreamBro
不辜负每个朝阳,不荒废每个深夜,因平凡而奋斗,因奋斗而不平凡!
展开
-
分治+归并排序+递归的过程
分治法:把一个复杂的问题拆解成两个或更多的相同或相似的子问题,然后再把子问题分成更小的子问题,一直拆下去,直到最后子问题可以进行简单的求解,原问题的解就是子问题解的合并。 分支算法的适用问题,通常需要满足以下几个条件 1. 原问题与分解成的子问题具有相同的模式; 2. 子问题可以独立求解,子问题之间没有相关性; 3. 分解具有终止条件,即当分解到一定程度后,可以直接求解; 4. 可以将子问题的解合并成原问题的解,且合并操作复杂度不高。 其中归并排序算法,其实就利用了分治的思想方法。 //归并原创 2020-07-24 13:54:49 · 385 阅读 · 0 评论 -
最小生成树(Prim+Kruskal)算法
关于生成树和最小生成树: 生成树:一个连通图的生成树是一个极小连通子图,其中含有图中的全部顶点,和构成一棵树的(n-1)条边。一棵有n个顶点的生成树(连通无回路图)有且仅有(n-1)条边。 最小生成树:对于一个带权(假设每条边上的权均为大于0的实数)连通无向图G中的不同生成树,其每棵树的所有边上的和也可能不同,图的所有生成树中具有边上的权值之和最小的树称为最小生成树。 例如:要在n个城市之间铺...原创 2019-08-24 09:48:43 · 300 阅读 · 0 评论