处理Assetbundle依赖关系时想到的一道题

时间:2021-10-24 08:52:45

在处理unit3d的assetbundle依赖关系的时候,想到了一道有趣的题目:

给定一堆数据,例如{A = {1, 3, 4}, B = {3, 4}, C = {5, 6}, D = {6, 7, 8}, E = {3, 4, 5, 6}}, 先判断依赖关系,例如A包含B, E包含B, E包含C, 然后分组,能包含的可以分为同一组,例如A(B), D, E(C), 求分组的方案以及最优的方案?

这道题的答案其实很简单,分组方案有两种

  • A(B), E(C), D
  • A, E(B, C), D

这道题里并没有最优的方案,或者这两种都算是最优方案也可以。

而对于十几个相互包含的assetbundle,利用什么算法能够得到最优解(使得最后打出的assetbundle数量最少),则是困扰我的地方,我并没仔细去考虑这个算法,而仅仅通过第一次碰见就处理这种方法来解决这种问题(得到的最终assetbundle数量肯定不是最少的)。