暂无个人介绍
JDK 9增加 了 List.of()、Set.of()、Map.of() 和 Map.ofEntries()等工厂方法来创建不可变集合,类似于ImmutableMap.of()静态方法。不可变集合不能进行添加、删除、替换、 排序等操作,不然会报java.lang.UnsupportedOperationException 异常。
## 应用场景-修路问题 有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通,各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 思路: 将10条边,连接即可,但是总的里程数不是最小. 正确的思路,就是尽可能的选择少的路线,并且每条路线最小,保证总里程数最少.
克鲁斯卡尔(Kruskal)算法,是用来求加权连通图的最小生成树的算法。 ==基本思想==:按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路 ==具体做法==:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择边加入到森林中,并使森林中不产生回路,直至森林变成一棵树为止
1.给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的==带权路径长度(wpl)达到最小==,称这样的二叉树为最优二叉树 2.==赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近==