- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个 C 库,用于用 brick
build 一个 house
。与每个 brick
关联的是一组 double
和 int
,对应于它的尺寸、重量、颜色以及它来自哪批 cargo ,等等。房子
就是某种形式的有组织的砖 block 集合。我的房屋 build 库中的一些函数接收房子
,但大多数函数接收并操作bricks
; house
主要使用本地 brick
操作来构建,这些操作对应于添加/移除砖 block 等本地更改。
在我(虚弱、缺乏经验的)看来,有两种“自然”的方式来表示这个 house
-made-of-brick
在数据结构方面的设置.
方法一:大透明砖,小房子。让每个 brick
结构包含每个关联的 double
和 int
的字段,以及指向紧邻它的砖 block 的指针.在此设置中,与 house
相比,每个 brick
都是一个大结构(house
可能只是指向任何 的指针brick
),整个事情只是一个指针的大网。
方法二:小不透明砖,大房子。让每个 brick
只包含一个整数 index
和一个指向它拥有的 house
的指针; house
然后包含 double
和 int
的数组,brick
可以切入它们以获取它们数据,加上一些额外的数组/表,用于所有连接信息。通过这种方法,可以使用大型 house
结构来保存和管理资源,无论我们在代码中的哪个位置,每个 brick
都可以看到该结构。
问题:在什么情况下(如果有的话)方法 1 优于方法 2?
我非常喜欢方法 2,但很难准确地阐明是什么让它在客观上优于方法 1。在此先感谢您提供任何建议和/或指向适当阅读 Material 的指示.关于如何更好地表达我的问题的建议也非常受欢迎:)
最佳答案
您提出了两个极端,但介于两者之间的某些东西可能也行得通。例如,您可以将邻接信息存储在房屋中,但将有关颜色、重量、大小和来源的信息保存在砖 block 中。您还可以将源信息从 house 和 brick 结构中移出,并将其放入单独的结构中,例如表示源并包含指向砖的指针列表的结构。
在您说出要优化的目标之前,您无法客观地说出哪种方法更好。阿德米已经提到了两个可能的目标,但可能还有更多。然后问题也是您要优化的参数:它是性能吗?代码大小?运行时内存使用情况?代码的清晰度?
一旦您定义了目标,并且有两个或多个可供选择的替代实现方案,您就可以尝试实现所有这些方案,然后对它们进行基准测试。这会给你最客观的答案。
关于c - 数据结构(C): big bricks small house,还是小砖头大房子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59447612/
我正在编写一个正则表达式,需要满足以下条件。 (name="myName".*house="myHouse"|house="myHouse".*name="myName") 名字或房子都可以放在第一位
所以我刚开始使用 Applets,当 applet 加载时,我正在制作一扇打开的门和 2 个打开的 window 的房子。当您单击这些 window 或门时,它们将关闭。不过,我的问题是我需要做什么才
我正在做 House Robber challenge . You are a professional robber planning to rob houses along a street. E
我正在尝试使用R从API提取文档。感谢this post中过程的澄清。我一直遵循上述步骤取得了部分成功,但是仍然无法通过最后一步获得对文档内容的访问权限: Find the document fili
关于苹果文档,企业程序允许在内部分发应用程序。 Apple 如何区分内部用户和内部用户?合作伙伴公司? 或者这只是法律协议(protocol)中的一段,将内部分发定义为仅允许公司成员使用? 最佳答案
我已经为 3 个字段中的一小部分记录设置了全文索引(也尝试了 3 个字段的组合并得到了相同的结果),有些词返回结果很好,但某些词如“house” ' 和 'australia' 没有(有趣的是,'au
我有一个用于存储房地产的 NoSQL 系统。 我在每个房子的键值存储中的一条信息是经度和纬度。 如果我想检索地理纬度/经度框中的所有房屋,如下面的 SQL: SELECT * from houses
让我们承认,我在 100 部 iPhone 上部署了一个应用程序,使用的是苹果“内部”部署的企业程序。所有这些都将连接到互联网。分发证书到期后会发生什么?我的所有员工都需要再次下载该应用程序,并使用新
我知道像这样的问题已经被问了一遍又一遍,但我找不到直截了当的答案。 我看过guides这似乎允许您分发您的应用 OTA,而无需成为企业计划的一部分。 我还看到了一些技巧,如果您的主机中没有 SSL 证
我在翻译这句话时遇到了问题: “运行内部系统意味着您可以 利用您现有的安全系统进行身份验证、授权等”——来自 Pro C# 2010 和 .NET 4 平台 谷歌翻译对我没有帮助。 我不想把它翻译成我
我目前是一个Python新手,正在使用Python创建一些游戏。我编写了一个游戏“纸牌屋”,基本上我正在尝试使用我在 OOP 中学到的知识来完成它。规则非常简单——你需要最大的牌才能获胜。玩家首先比较
我正在开发一款使用 Amazon Web Services 将视频上传到 S3 的 iPhone 应用程序。我可以有小尺寸的视频或大尺寸的视频。在上传过程中,有时会完全挂起,只是停顿,没有任何错误或超
我有一个可以使用 Enterprise Distribution 通过 S3 Bucket 下载的应用程序,它第一次失败并显示正在加载,但是当我使用配置实用程序通过将设备连接到计算机来手动安装证书时,
我的一位客户在他的招标规范中提到了“数据库管理”一词。我不确定这个词,请帮助。 最佳答案 应该是: 索引重建或重组 统计更新 DBCC CHECKDB(检查完整性等)-等等 其他内容: 检查磁带/离线
题目地址:https://leetcode.com/problems/house-robber-iii/description/ 题目描述 Thethief has found himself a
题目地址:https://leetcode.com/problems/house-robber-ii/description/ 题目描述: Youare a professional robber
Click House 中的 Store 文件夹是什么? Click House中有一个名为Store的文件夹,它的体积非常大。 虽然我没有更多的数据库并且其大小为 1 GB,但 Store 文件夹几
使用 XSL-FO 时,有没有一种方法可以防止单词在分页符上连字符,而一般的连字符是打开的?我正在使用 Antenna House Formatter。提前谢谢你。 最佳答案 抱歉,不,我不知道有什么
我想知道是否有人知道如何在 java 中实现代码来打印所有满堂彩的情况。大约有 3700 种不同的情况。到目前为止,我大约有 2700 点,但我在更换西装时遇到了麻烦,她就是我目前所拥有的。 publ
我不是在问这里的代码!我问的是这里的流程。 我想通过 XML gateway of Companies House 搜索公司名称可用性。我知道如何在 Java 中使用 jabx 编码和解码数据,但我不
我是一名优秀的程序员,十分优秀!