- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在给定数百 GB 不同大小的 Assets 的情况下,填充一组蓝光光盘的最佳算法是什么?
我正在尝试整合大量的旧 CDROM、DVD 和小型硬盘驱动器,并将所有内容放入一个由 MD5 签名索引的数据库中。这无疑是一项艰巨的任务。
我目前所做的是按降序对 Assets 大小(通常是目录大小)进行排序,开始在填充列表中插入最大的 Assets ,跳过任何不适合的 Assets ,直到 Assets 用完为止。它几乎是瞬间运行,但如果有必要,我不介意过夜运行一次。
它通常给我 95% 或更多的利用率,但我确信有一种方法可以使用其他组合来提供更高的效率。对于像磁盘镜像这样的大项目,我可以使用这种原始方法获得非常低的利用率。
我的想法是一次获取 Assets 的所有组合,1 然后 2,然后 3,... 项目并保持最高字节数 < 25,025,314,816 字节的运行值指向数组,该数组对其求和.当我达到我一次拥有如此多 Assets 以致于没有任何组合适合的地步时,停止并使用运行中的最高计数器指向的数组。
这是最好的算法吗?
有 2 个 Perl 模块似乎可以胜任这项任务,Algorithm-Combinatorics 和 Math-Combinatorics。有什么更快、更稳定、更酷的建议吗?
我的方案是写一个脚本来计算大量目录的大小,并显示几十个要刻录的磁盘的最佳内容。
而且,我不想逐个文件地填充文件,因为我希望整个目录都在同一张光盘上。
最佳答案
这是一个 NP 完全问题,称为 bin packing .没有已知的多项式时间算法可以最优地解决它。换句话说,如果不基本上尝试所有解决方案,就无法找到最佳解决方案。
从好的方面来说,一个非常简单的试探法,如“将最大的剩余文件夹放在第一个有空间的磁盘上”将保证您使用的磁盘数量少于最佳情况的两倍。 (您可以在该问题的维基百科文章中阅读更多详细信息)。
关于algorithm - 最佳填充 DVD 以进行刻录的算法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11680174/
目前,如果用户使用的是Windows XP,我具有以下片段来检查和安装Windows Installer 4.5。 = "4.5.6001.22159"]]>
我是 WiX 的新手,我正在尝试让 Bootstrapper 在完成时启动我安装的应用程序。为了实现这一点,我正在使用 但是,获取可执行文件的路径对我来说并不容易。这样做的原因是因为我使用 来安装一
我们需要在使用 Borlands Turbo C++ 开发的 C\C++ Windows XP/Vista 应用程序中以编程方式将文件刻录到 CD。 最简单、最好的方法是什么?我们更喜欢原生 Wind
我正在关注 wixtoolset.org 的摘录 - Changing the WiX Standard Bootstrapper Application Branding因为我正在使用 Hyperl
我最近在我的解决方案中加入了一个 Bootstrap ,我注意到在测试了各种免费的防病毒程序后,Avast 和 AVG 现在似乎都会导致我的安装失败,有其他人经历过这种情况吗? 我目前的想法是,安装失
我创建了一个 MSI 文件来安装我使用 WiX 3.7 的程序之一。我创建了一个包含公司信息的文件,该文件显示在“控制面板”->“程序和功能”中:
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
A similar question has already been asked for the .NET platform但我使用的是 Debian Linux。 我正在尝试找到一种直接从连接到采
是否有任何好的库可以让我从 Delphi 2007 win32 刻录 CD/DVD?谢谢 最佳答案 我认识几个: Bayden's Delphi CD Burning Library Dance Ma
Qt SDK 是否提供一些用于 CD/DVD 刻录的工具。更具体,如果是,请提供一些类(class)引用。谢谢。 最佳答案 Qt 与 CD/DVD 刻录无关。它是一个 GUI 工具包。它还具有通用结构
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我刚刚开始尝试使用 Burn 来尝试链接多个 MSI 文件。我使用的是 WiX v3.6.2705.0。 链接正在工作,但我现在正在尝试让可选功能正常工作。我希望这只是将我的 MsiPackage 标
所以我正在尝试使用 Nvenc 来加速视频编码。目的是有 1 个输入视频文件和 1 个输入字幕,并获得不同分辨率的多个输出,字幕硬编码或刻录到视频中。我尝试了多种方法,但不知道该怎么做。 这是我目前正
我有一个带有以下变量的 Burn Bundle 在我的 Bootstrap UI 项目的主视图模型中具有以下属性 public string InstallDirectory {
我写了一个自定义 Managed Bootstrapper Application (MBA)并获得了大部分功能,除了修复。检查包日志提供: [335C:3440][2013-04-29T13:51:
我是一名优秀的程序员,十分优秀!