假设我有一个使用低效数据结构的软件程序。现在我怎样才能让它变得高效。似乎我们应该简单地改变数据结构,但事实并非如此。根据我的观点,整个软件需要改变。 你的观点是什么?
答案 0 :(得分:2)
对于我们来说,提出准确答案的问题可能有点过于模糊,但使用“效率低下”的数据结构可能意味着:
是应该更改整个应用程序,还是应该更正使用“正确”的数据结构?
嗯:
答案 1 :(得分:1)
这非常主观,应该标记为这样。
这将广泛取决于您使用的语言,此数据结构在应用程序中的重要部分,原始代码的编写灵活性以允许结构更改,和数据结构的实际类型。
在大多数情况下,如果您的应用程序编写正确,您应该可以轻松地进行更改,但是您确实找到了设计不允许轻松更改的实例,而且更难以解决的问题。
答案 2 :(得分:0)
你至少需要知道什么是便宜的,什么是好算法的昂贵。当Java刚出来时,我看到有人制作了一个Collections框架。他们对数据结构知之甚少,而且效率很低。我邮寄了他们,他们说:“哦 - 我知道这一点。现在我已经吸引了人们对这个问题的兴趣,其他人可以让它快速运作。”但是他们选择了没有良好(log n)实现的操作,并且他们没有提供可以有效实现的操作,并且在那种环境中会有用(我想我记得合并优先级队列)。
因此,没有好的方法可以使用不幸的Collections框架编写程序,并通过修复框架的实现来加快速度。
答案 3 :(得分:0)
我不确定这个问题是否以这种方式被正确回答。这是模糊的方式。 IMHO