我正在处理模式识别的情况,对于输入,我需要从文本文件中读取点的坐标,最多 10000 个点。我需要对读取的点进行某些计算。所以,我的问题是,当我需要进行一些计算时,我是否应该始终从文本文件中读取它们,或者我应该将它们存储在某些数据结构中,例如二维数组,从而访问这些值。存储和时间方面会有什么区别?
<小时/>编辑:
- 我使用的语言是 Java。
- 数据结构是用户定义的
- 使用 x 和 y 坐标实例化对象的构造函数。
- 在标准输出上绘制点的方法。
- 在两个给定点之间画线的方法。
- 一种根据坐标比较两点位置的方法。
- 计算两点之间斜率的方法。
- 扩展 Comparable 接口(interface)的内部类,可用于比较两点。 该比较基于每个点相对于引用点的斜率。
PS - 如果这个问题很愚蠢,我很抱歉,但我只是想弄清楚事情而不是回避。提前致谢!
最佳答案
将它们存储在内存中将是这里推荐的选项,假设它是一个静态文本文件(意味着当您运行识别时这些点不会改变),因为它确实会加快整个过程并加快 10000点不会太大而无法缓存在内存中。
更不用说这一点还取决于您使用的语言和数据结构。
关于java - 存储和检索数据的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26567545/