标签: data-structures

在Clojure中,不能在库级别有效地实现单元格吗?

Clojure有自己的系列,不需要传统的lispy cons细胞.但我发现这个概念很有意思,它被用在一些教材中(例如,SICP).我一直想知道这个cons原语是否需要是原始的.我们不能在库中实现它(以及在其上运行的传统功能)吗?我搜索过,但是我发现没有写过这样的库.

lisp clojure cons data-structures

0
推荐指数
1
解决办法
288
查看次数

具有O(1)随机删除的数据结构并添加用于改组生成器顺序

我需要一个数据结构,允许您添加元素并O(1)及时随机删除它们.

这样做的原因是我需要从生成器中移植数据,但由于大小的原因,我无法同时将所有内容加载到内存中.

这是一个使用示例,它自动混合生成器表达式生成的结果的顺序,而不将所有内容加载到内存中:

def generator_shuffler(generator)
    a = magical_data_structure_described_above
    for i in generator:
        a.add(i)
        if len(a) > 10: yield a.poprandom()
Run Code Online (Sandbox Code Playgroud)

最初我尝试了一个python set(),但是从这里开始:Set.pop()不是随机的?,似乎set()实际上并没有以任意顺序删除项目.如何使用上述用法实现数据结构?

python algorithm data-structures python-3.x

0
推荐指数
1
解决办法
68
查看次数

适用于具有多个密钥对的JSON的数据结构

我试图找到一个合适的C#数据结构:

data: [ 
       {A: <V>},
       {A: <V>, B: <V>},
       {A: <V>, B: <V>, C: <V>},
       {...}
      ]
Run Code Online (Sandbox Code Playgroud)

其中A,B和C是字符串键,V是任何类型的值.

这是因为我从前端传递一个Javascript对象,如下所示:

在此输入图像描述

并对其进行反序列化,更改某些字段并将其重新序列化.

例如:

var data = new JavaScriptSerializer().Deserialize<List<Object>>(JSObject);
Run Code Online (Sandbox Code Playgroud)

我正在努力寻找一个涉及多个字典的数据结构,这些字典可以很容易地重新序列化回JS.

javascript c# json json.net data-structures

0
推荐指数
1
解决办法
76
查看次数

C#项未添加到List <String>

下面是我对Azure的ICollector接口的实现.

class TestCollector<T> : ICollector<T>
{
    public List<T> Collector => new List<T>();

    public void Add(T item)
    {
        Collector.Add(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

在TestCollector上添加项目时,收集器的计数仍保持为0.

它没有被添加的原因是什么?我应该为TestCollector创建一个单独的构造函数并在里面初始化Collector吗?

c# interface list data-structures

0
推荐指数
2
解决办法
134
查看次数

在C++中设置数据结构,其中只包含每个类的一个外观

我需要一个集合(或任何其他数据结构),只能包含每个类的一个实例.例如:我有一个接口A,我有A1实现它.

我有代码:

std::set<A> myset;
A1 a1;
A1 a11;
myset.insert(a1); // should insert
myset.insert(a11);// should not insert
Run Code Online (Sandbox Code Playgroud)

我希望那a11不会在集合中.我想用自定义比较器来做,但我不知道如何实现这个比较器.

有任何想法吗?

c++ data-structures

0
推荐指数
1
解决办法
64
查看次数

给定矩阵中最大孤岛的算法

给定2×2矩阵,返回可能的不同岛尺寸

例如,应返回以下矩阵[5, 7].

  1 0 0 0 1
  1 1 1 1 1
  0 0 0 0 0
  1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)

这是一个相当简单的问题.我使用相同大小的布尔访问矩阵并以DFS方式遍历矩阵.我在这里实现了它.出于某种原因,我得到了输出[1].我试过调试,但我的思绪现在停止了工作.我相信我错过了一些愚蠢的东西.

public class IslandConnectedCell {

    public static void main(String[] args) {

        int[][] input = {
                {1,0,0,0,1},
                {1,1,1,1,1},
                {0,0,0,0,0},
                {1,1,0,1,1}
        };

        dfsIsland(input);

    }


    public static void dfsIsland(int[][] input) {
        int rows = input.length;
        int cols = input[0].length;
        List<Integer> countList = new ArrayList<>();

        boolean visited[][] = new boolean[rows][cols];

        for (int row = 0; row < …
Run Code Online (Sandbox Code Playgroud)

java algorithm depth-first-search data-structures

0
推荐指数
1
解决办法
378
查看次数

查找数组中每个元素的最后一个较小或相等的数字?

我得到了一个数组。我需要为数组中的每个元素找到最后一个(最右边的)较小或相等的数字。

例如:

2 5 1 6 4 7

2的最后一个小于或等于
1,5的最后一个小于或等于4,而不是1,依此类推。

另一个例子:

5 100 8 7 6 5 4 3 2 1

在这里,每个元素的最后一个较小或等于1。我知道简单的方法,即O(n²),但是需要更好的方法。

arrays algorithm data-structures

0
推荐指数
1
解决办法
215
查看次数

Perl中qw表示的数组数组

您好我想形成这样的数据结构:

my @AoAoA = (
   [ qw/ [a b] [c d] [e f] / ],
   [ qw/ [r t] [m n] [k l] / ],
   [ qw/ [z x] [b a] [p u] / ]
    );
Run Code Online (Sandbox Code Playgroud)

在这个结构中,我在qw表示中调用数组数组,简称AoAoA,当我想访问第一个数组的第一个数组的第一个值时:

my $first_elt = @{$AoAoA[0]}[0];# supposed to be [a b]
my $first_val = @{$first_elt}[0];# supposed to be 'a'

print "$first_val\n";
Run Code Online (Sandbox Code Playgroud)

它什么都不打印.我如何安排它以便我能正确访问该值?谢谢.

perl data-structures

0
推荐指数
1
解决办法
153
查看次数

如何检查两个地图在JavaScript中是否具有相同的密钥集

假设有两个Map对象,如何检查它们的键集是否相同?

例如:

const A = new Map();
A.set('x', 123);
A.set('y', 345);

const B = new Map();
B.set('y', 567);
B.set('x', 789);

const C = new Map();
C.set('x', 121);
C.set('y', 232);
C.set('z', 434);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,两者AB地图具有相同的密钥集(即['x', 'y']),而密钥集C是不同的,因为它具有额外的密钥z.

javascript dictionary data-structures ecmascript-6 es6-map

0
推荐指数
1
解决办法
90
查看次数

二叉搜索树的数量

具有20个节点的二元搜索树的数量是多少,其中元素1,2,3,...,20使得树的根是12并且左子树的根是7?a)2634240 b)1243561 c)350016 d)2642640

解释和答案将有所帮助.

我已应用加泰罗尼亚数字公式,但结果不适合选项,所以这只是确定.

algorithm tree data-structures

0
推荐指数
1
解决办法
300
查看次数