C#:尽可能高效地将大量文件放入 DVD 的代码

标签 c# recursion factorial dvd

我需要编写一个应用程序来获取文件列表(有的大,有的小),并尽可能高效地将它们放入 DVD(或 CD,或其他)。这个应用程序的重点是在移动到第二个磁盘之前用尽第一个磁盘,在移动到第三个磁盘之前尽可能多地填充第二个磁盘,等等。

(注意:应用程序不必实际刻录到 DVD,它只需要找出最适合的位置即可)。

我最初认为我有一个很好的游戏计划,方法是生成文件的排列,然后检查每个组合以查看最适合的组合。 (我的帮助请求可以在 HERE 找到)

但是文件越多,花费的时间就越长……呈指数增长。因此,我想就如何最好地实现这一点征求您的一些意见。

有什么想法吗?而且,一如既往,C# 代码总是受到赞赏。

最佳答案

您面临的问题与 knapsack problem 有关.链接的维基百科页面包含更多信息,包括建议的解决方法。

关于C#:尽可能高效地将大量文件放入 DVD 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3825387/

相关文章:

Ruby 阶乘函数

c# - ORA-01005 错误连接 ODP.Net

c# - 在正则表达式中检索不同的值组

c# - ObjectContext 实例已被释放,不能再用于需要连接的操作。在引用表中

java - 递归和字符串相等函数的问题

java - 在 Java 中实现递归

c# - 计算一个数的阶乘

algorithm - 计算阶乘的快速算法

c# - 将 utf-8 字符串转换为波斯语 unicode

C# 网络打印