data-structures

    0热度

    1回答

    我从文件中读取矩阵,并且所有列都有不同的数据类型。 我无法找到一个结构来保存和操作我的数据。感谢帮助。 // I read a matrix from file and all column have a different type. int[] iT = new int[] {1,3,5}; long[] lT = new long[] {123, 456, 789};

    0热度

    1回答

    我很难理解这个概念, 问题是,既然黑节点是平衡的,那么如果我们把树作为一个整体,RB树就可能具有最大的不平衡性么?

    0热度

    2回答

    我想解决以下问题。 给你一个开始词,词典和结束词。您可以执行4个操作。 在任何位置 删除字母添加一个字母在任何位置 在任何位置替换字母的单词的 采取字谜(猫是可以改变的行动)。 这些操作的所有成本可能会有所不同,并且也会给出。 约束:所有中间字母以及开始词和结束词必须出现在词典中。找到实现这一目标的最低可能成本。 如果没有办法返回-1; 有什么想法吗?

    4热度

    1回答

    执行heapsort时,只有一个最大元素从堆中提取,并与堆结尾处的元素交换,然后被认为是堆不足。然后堆属性使用heapify进行恢复。这样做直到堆大小变为零。 而不是假设我从堆中提取两个最大元素而不再次调用heapify。第二个max元素将是max-heap的第二个或第三个元素。对于第二个最大元素,我可以将其与堆的第二个最后一个元素进行交换。接下来是heapsort的类似步骤。 取决于第二个最大元

    0热度

    3回答

    我正在寻找一个数据结构我可以存储一对Integer和String 我可以排序两次:一次按整数降序排列并通过词汇顺序一次。 我也希望能够动态地添加一对。 例如:{(13,a)(12,d) (9,a)} 排序号:{(13, a) (12, d) (9,a)} 排序词汇顺序:{(9, a) (13, a) (12, d)} 什么你有什么建议?

    0热度

    1回答

    我想创建状态对象。它可以有值一样pending,session,rejected,cancelled ... 我要访问它像status.isSession();,status.isPending() ... etc` ,但我想给它分配这样status.toPending();,status.toSession(); 这样就没有拼写错误的余地。 我认为这是动态编程。

    0热度

    2回答

    我一直在尝试实现splay树,但迄今为止没有成功。以前我成功实现了二叉搜索树和avl树,并且由于splay tree是二叉搜索树的变体,所以插入代码和旋转编码是唯一的罚款。我面对的是每次节点inserted.This移动节点到根本的问题是我的代码 class SplayTree: def __init__(self): self.root = None self

    1热度

    2回答

    我怎么能实现一个程序,它需要在trig方程的两边(可以推广到任何东西,但现在我将它留在只是触发身份),程序将输出将一方转换为另一方(或转换它们)的步骤,以表明它们实际上是平等的。该计划将首先假设他们是平等的。我非常难以理解如何实现一个算法来做到这一点。我的第一个想法是与图形有关,但我想不到除此之外的任何事情。从那里,我认为我应该首先将方程的两边解析为树。例如(cot x * sin)/(sin x

    2热度

    2回答

    我注意到很多的回溯问题有解决的方法有两种。 一个是返回“无论是必需的名单”,VS,贯穿每个呼叫的“结果”,并追加到它。 返回的缺点是什么?(它是更少的内存/时间效率)? 示例:要打印所有可能的排列,与第二个排序相比,这种解决方案的效率如何? 对不起,如果这不是合适的论坛问这个问题,我找不到更好的地方。 public List<List<Integer>> perm(int[] nums){

    0热度

    1回答

    我一直在尝试遵循我的数据结构教科书上的示例代码。 这是一个程序来检查C++中使用堆栈的括号的平衡,但它不像预期的那样工作。不知何故,我遇到了HTML标签匹配算法的问题。 #include <iostream> #include <stack> #include <vector> #include <string> using namespace std; vector<string>