【发布时间】:2016-11-24 04:13:44
【问题描述】:
所以我正在尝试为一个名为 ULS 的项目创建自己的数据类型。 ULS 基本上是一个 100
根据列表的大小,由于每个城市的房屋列表都可能不同,因此我尝试根据给定列表的大小实现不同的抽象数据类型。见下文:
Algorithm setSmartThresholdULS(Size):
Input: Integer Size that defines the list size.
Ouput: Data structure implemented with the given size
Int Threshold <- 1000
If Size is smaller than Threshold then
setSmartThresholdULS(Size) extends AbstractHashMap<K,V>
Else if Size is greater than Threshold then
setSmartThresholdULS(Size) extends AVLTreeMap<K,V>
这只是伪代码,但我怎样才能在语法上正确实现呢?上面的代码是否合法/有效?
【问题讨论】:
-
因此,在您的“伪代码”中(由于某种意外,Java 中的语法不正确),您说
setSmartThresholdULS是一个“算法”。但是AbstractHashMap和AVLTreeMap是数据类型的示例。我看不出您对“算法”扩展“数据类型”的定义有何意义。算法描述行为,数据类型描述结构。 -
@ErwinBolwidt 我基本上希望我的 SmartULS(我创建的数据类型)根据给定的大小扩展 AbstractHashMap 或 AVLTreeMap。如果有帮助
-
请用该信息更新您的问题(cmets 仅用于讨论/澄清,问题应独立存在)
-
您可能只是错误地使用了“扩展”一词。如果
AbstractHashMap和AVLTreeMap都扩展(或实现)Map,那么很容易说类似Map<K,V> map; if (blahblah) map = new AbstractHashMap<>(...); else map = new AVLTreeMap<>(...);这就是你要找的东西吗?
标签: java algorithm hashtable avl-tree abstract-data-type