data-structures相关内容

为什么我不能在链表中得到给定数字的返回素因数?我添加了结构、函数、Main和Print函数

我正在尝试找到给定数字N的素因数并将它们返回到链接表中。查找素因数没有问题,但在链表中返回它们却有问题...运行代码时没有收到错误,但我只得到第一个素因数作为输出,不能得到其余的,例如,如果N等于72,我得到2作为输出,但不能得到其余的因数 #include #include //This is my structure ..
发布时间:2022-09-24 19:53:04 其他开发

基于时间的线程安全优先级队列

我需要一些类似队列的数据结构来执行以下任务: 有些线程添加了附加延迟值的数据项(例如秒),例如queue.add(data, delay)。 既可以有不同的延迟,也可以有相同的延迟,队列应充当优先队列:延迟越小的项越接近末尾(出队速度更快) 排队项每秒钟delay应减1,直到达到0(然后保持不变为0) 在delay为0的项目中,出列顺序就是它们的插入顺序(虽然到达0的顺序更好) 一些 ..
发布时间:2022-08-22 12:40:37 Java开发

我如何才能加速我编写的Python代码:使用空间搜索的球体接触检测(碰撞)

我正在处理一个球体的空间搜索案例,我想在其中找到连接的球体。为此,我在每个球体周围搜索中心与搜索球体中心的距离为(最大球体直径)的球体。一开始,我尝试使用Scipy相关方法,但与等价NumPy方法相比,Scipy方法耗时更长。对于Scipy算法,首先确定K-近邻球体的个数,然后再用cKDTree.query查找,这样会耗费较多的时间。然而,即使通过省略带有常量值的第一步(在这种情况下省略第一步是不 ..
发布时间:2022-08-09 20:38:37 其他开发

C语言中的二叉树插入排序

嘿,谁能解释一下如何在C语言中使用插入排序对二叉树进行排序,因为时间复杂性是个问题。我只是在学习编程。谢谢你们! 推荐答案 如果以传统意义对二叉树进行编码,则在向树中添加项目时,它将保留排序顺序。通过遍历树,您可以按顺序获得完整的项目列表。我建议您阅读: http://en.wikipedia.org/wiki/Tree_traversal http://en.wikipe ..
发布时间:2022-08-06 14:55:08 其他开发

如果最终删除/插入数组的复杂性相等,为什么还要使用链表呢?

我有以下问题。为什么使用链表,如果删除数组元素的时间复杂度是O(N),对于链表(给定索引)也是O(N),因为我还需要搜索整个列表? 推荐答案 虽然渐近复杂性可能相同,但常量因子可能非常不同。尤其是,您可能有一大堆东西,它们的移动或复制成本很高,但匹配成本却很低。因此,对于链表,您执行(快速)O(N)搜索以找到一个元素,然后执行O(1)以在那里插入/删除。对于数组,您需要进行相同的O(N ..
发布时间:2022-07-23 20:08:23 其他开发

处理大型数据二进制文件

我正在处理包含原始数据的大型二进制文件(每个文件大约2 GB)。这些文件具有定义良好的结构,其中每个文件是events的数组,每个事件是data banks的数组。每个event和data bank都有一个结构(header、data type等)。 从这些文件中,我所要做的就是提取我可能需要的任何数据,然后我只需分析和处理这些数据。我可能不需要所有数据,有时我只提取XType数据,其他只需要Y ..

在无向图中,最简单的圈必须有3个节点?

我正在试着写一个关于圈和无向图的证明,但我被一些东西搞糊涂了。 如果我的图只有2个顶点和连接它们的一条边,那就不是一个圈,是吗? 所以我需要至少3个顶点,从2个顶点到其中一个节点有2个连接,另外两个节点之间有1个连接,这样才能在图中有最小可能的圈(三角圈)。还是我做错了? 推荐答案 是,可以用3个节点创建最简单的周期。 有2个节点的图不是圈,也不能是圈,因为这与一组节 ..
发布时间:2022-04-15 20:20:19 其他开发

优先级队列与链表Java

我正在解决BFS问题。我使用了PriorityQueue,但我得到了错误的答案,然后我使用了LinkedList,我得到了正确的答案。我找不出它们之间的区别。这两个代码都在这里。为什么两个答案不同? Code1: LinkedList q=new LinkedList(); q.add(src); dist[src]=0; ..
发布时间:2022-04-15 20:17:58 Java开发

在Python中列表的大小调整系数是多少

例如,Java中的ArrayList的大小调整系数为2。当ArrayList所环绕的数组空间不足时,该数组的所有元素都将转移到一个新数组中,该数组的大小是原始数组的2倍。 既然Python列表/数组自然是动态的,那么它们的大小调整因素是什么?或者,他们是否使用其他一些扩展方法?如果是的话,那是什么方法呢?它的渐近运行时(大O)是多少? 推荐答案 特别是objects/listobje ..
发布时间:2022-04-15 18:36:52 Python

使用质数表示哈希表的大小

我一直在阅读关于HashTables的教科书,它说在重新散列它时使用一个素数来表示数组的大小,但是它没有解释为什么。我也用谷歌搜索了一下,我找到的最好的答案是“出于技术原因”,为什么哈希表的大小应该使用质数? 推荐答案 取决于哈希函数。具体地说,为散列表大小选择素数可以弥补所使用的散列函数很差的事实,并且经常返回在执行期间自然出现的值的同余散列。哈希表大小的质数提高了哈希函数可能具有的 ..
发布时间:2022-03-31 23:06:05 其他开发

用于一组短字节串的高效存储数据结构

我正在寻找一种在Python中类似集合的数据结构,它允许对长度约为10的1亿个短字符串(或字节字符串)进行快速查找(集合为O(1))。 在10M字符串的情况下,这已经占用了Python3.7或3.10.2上的750MB内存(如果用字符串替换b字符串,则占用900MB): S = set(b"a%09i" % i for i in range(10_000_000)) # { b"a0 ..
发布时间:2022-03-31 22:48:47 Python

值未保存在C##中的队列中

我正在尝试使用链表在C中实现一个队列。我通过C可视化工具运行代码,似乎没有保存A-E值。如在中所示,一个节点将包含字母A,然后当再次调用Queue_enqueue时,将创建另一个包含字母B的节点,然后包含A的前一个节点将消失……我的代码包含其他函数,如出列和一个用于检查队列是否为空的函数,但为了保持代码简短,我去掉了它们,它们独立于此处提供的函数。 #include #i ..
发布时间:2022-03-22 12:05:42 其他开发