我需要在带有操作的数据结构中存储方形底座(由底边和高度表示)的框:插入,删除和搜索边长和高度值不小于给定框的最小音量框。 数据结构应该基于二叉搜索树,所以我可以简单地平衡它们(红黑/ AVL)。我发现一棵树是不够的,所以我试图将盒子分成边值和高度值。 提前感谢任何提案,支持插入,删除的对数时间, 和n * lg(m)之类的搜索(给定n,m是边数和高度值)。
答案 0 :(得分:0)
有关类似问题,请参阅我的回答here。
您需要的是一个节点,它同时保存属于两棵树的信息。每棵树都按不同的键(宽度,体积等)排序。
通过这种方式,try {
String secret = "secret";
String message = "Message";
Mac sha_HMAC = Mac.getInstance("HmacSHA512");
SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA512");
sha_HMAC.init(secret_key);
String hash = Base64.encodeToString(sha_HMAC.doFinal(message.getBytes()), Base64.DEFAULT);
System.out.println(hash);
Log.e("string is ",hash);
}
catch (Exception e){
System.out.println("Error");
}
复杂度可以找到符合所有要求的框。