Questions tagged «data-structures»

数据结构是以一种组织数据的方式,该方式允许有效地查询和/或更新该数据的特定属性。

9
如何在内存中表示六边形/十六进制网格?
假设我正在用六角网格构建棋盘游戏,例如《卡坦的定居者》: 请注意,每个顶点和边都可以具有属性(上方的道路和沉降)。 我将如何制作代表该板的数据结构?访问每个图块的邻居,边缘和顶点有哪些模式?

17
如何将SQL查询结果转换为PANDAS数据结构?
在这个问题上的任何帮助将不胜感激。 因此,基本上我想对我的SQL数据库运行查询并将返回的数据存储为Pandas数据结构。 我已附上查询代码。 我正在阅读有关Pandas的文档,但是在识别查询的返回类型时遇到了问题。 我试图打印查询结果,但没有提供任何有用的信息。 谢谢!!!! from sqlalchemy import create_engine engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING') connection2 = engine2.connect() dataid = 1022 resoverall = connection2.execute(" SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = …

16
查找前10个搜索词的算法
我目前正在准备面试,它使我想起了一个在上次面试中曾经被问到的问题: “已经要求您设计一些软件来连续显示Google上排名前10位的搜索词。您可以访问Feed,该Feed提供了当前在Google上搜索的无穷实时搜索词源。请描述哪种算法和数据结构您将用来实现此目的。您将设计两个变体: (i)显示所有时间(即自您开始阅读提要以来)的前10个搜索词。 (ii)仅显示过去一个月的前10个搜索字词,每小时更新一次。 您可以使用一个近似值来获得前十名的列表,但您必须证明自己的选择是正确的。” 我在这次采访中大吃一惊,但实际上仍然不知道如何实现这一点。 第一部分要求在无限列表的不断增长的子序列中提供10个最频繁的项。我研究了选择算法,但找不到任何在线版本来解决此问题。 第二部分使用有限列表,但是由于要处理大量数据,您无法真正将整个月的搜索字词存储在内存中,也无法每小时计算一次直方图。 前十名列表不断更新的事实使问题变得更加棘手,因此您需要以某种方式在滑动窗口上计算前十名。 有任何想法吗?

27
如何确定二叉树是否平衡?
那些学期已经有一段时间了。在一家医院担任IT专家的工作。现在尝试着做一些实际的编程。我现在正在研究二叉树,我想知道确定树是否高度平衡的最佳方法是什么。 我在想一些这样的事情: public boolean isBalanced(Node root){ if(root==null){ return true; //tree is empty } else{ int lh = root.left.height(); int rh = root.right.height(); if(lh - rh > 1 || rh - lh > 1){ return false; } } return true; } 这是一个好的实现吗?还是我错过了什么?

30
以最佳方式在二进制搜索树中找到第k个最小元素
我需要在二进制搜索树中找到第k个最小的元素,而无需使用任何静态/全局变量。如何有效实现?我想到的解决方案是在O(n)中进行操作,这是最糟糕的情况,因为我计划对整个树进行有序遍历。但在内心深处,我觉得我没有在这里使用BST属性。我的假设解决方案正确还是有更好的解决方案?

5
LinkedBlockingQueue与ConcurrentLinkedQueue
我的问题涉及到这个问题,刚才问。在使用队列在生产者线程与使用者线程之间进行通信的情况下,人们通常会建议使用LinkedBlockingQueue或ConcurrentLinkedQueue吗? 与另一种相比,使用一种有什么优点/缺点? 从API角度看,我的主要区别是a LinkedBlockingQueue可以有选择地限制。

8
是否有具有通用数据结构的开源C库?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在寻找具有常见可重用数据结构(如链表,哈希表等)的C库。类似Kyle Loudon的C(平装)母版分发算法的源代码。
111 c  data-structures 


5
如何合并YAML数组?
我想在YAML中合并数组,并通过ruby加载它们- some_stuff: &some_stuff - a - b - c combined_stuff: <<: *some_stuff - d - e - f 我想将组合数组作为 [a,b,c,d,e,f] 我收到错误:解析块映射时未找到预期的密钥 如何在YAML中合并数组?

15
在什么情况下链表有用?
在大多数情况下,我看到人们尝试使用链接列表,在我看来,这是一个糟糕的选择。探索链表是否是数据结构的好选择的环境可能会很有用。 理想情况下,答案应阐明选择数据结构时使用的标准,以及在特定情况下哪种数据结构最有效。 编辑:我必须说,不仅数字,而且答案的质量给我留下了深刻的印象。我只能接受一个,但是如果还没有更好的东西的话,我还要说另外两三个。只有一对夫妇(尤其是我最终接受的一对夫妇)指出了链表提供真正优势的情况。我确实认为,史蒂夫·杰索普(Steve Jessop)不仅提出了一个答案,而且提出了三个不同的答案,因此值得得到荣誉奖,我发现所有这些都给人留下了深刻的印象。当然,即使发布的内容仅是评论而不是答案,我认为尼尔的博客条目也很值得阅读-不仅内容丰富,而且也很有趣。

30
如何仅使用两个指针来反转单链列表?
我想知道是否存在仅使用两个指针来反转单链列表的逻辑。 以下是用于逆转使用三个指针即单链表p,q,r: struct node { int data; struct node *link; }; void reverse() { struct node *p = first, *q = NULL, *r; while (p != NULL) { r = q; q = p; p = p->link; q->link = r; } first = q; } 还有其他替代方法可以反向链接列表吗?就时间复杂度而言,颠倒单个链表的最佳逻辑是什么?




4
在Python中表示图(数据结构)
如何用Python巧妙地表示图形?(从头开始,即没有库!)哪种数据结构(例如dicts / tuples / dict(tuples))既快速又具有存储效率?必须能够对它执行各种图形操作。 如前所述,各种图形表示可能会有所帮助。如何在Python中实现它们?至于图书馆,这个问题有很好的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.