基于BST的两个键基于数据结构

时间:2015-08-04 12:26:34

标签: algorithm data-structures binary-search-tree red-black-tree

我需要在带有操作的数据结构中存储方形底座(由底边和高度表示)的框:插入,删除和搜索边长和高度值不小于给定框的最小音量框。 数据结构应该基于二叉搜索树,所以我可以简单地平衡它们(红黑/ AVL)。我发现一棵树是不够的,所以我试图将盒子分成边值和高度值。 提前感谢任何提案,支持插入,删除的对数时间, 和n * lg(m)之类的搜索(给定n,m是边数和高度值)。

1 个答案:

答案 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"); } 复杂度可以找到符合所有要求的框。