linked-list相关内容

计算值的总和中的链接列表

所以我就最近一个编程问题,在接受记者采访时。 有2链表,每个节点的存储从1至9的值(指示数之一索引)。因此,123将是一个链表1-> 2-> 3 现在的任务是创建一个功能: 静态一个LinkedListNode getSum(一个LinkedListNode一个,一个LinkedListNode B) 这将返回值的总和在2链表arguements 如果数组a是:1-> 2-> 3-> 4 ..
发布时间:2015-11-30 14:36:59 Java开发

Python的链表O(1)插入/删除

我要寻找一个链表和相关算法实现的Python。每个人都问我只是建议使用内置的Python列表,但性能测量表明,清单插入和删除是我们的应用程序的瓶颈。这是微不足道的实施一个简单的链表,但我不知道是否有一个成熟的库,它包含了像排序,合并,拼接,搜索一些操作,下/上限,等等... 我知道这是一个欺骗,但搜索在任何搜索引擎的Python列表给出了predictably效果差,大多数人只是说,链表是不需要 ..
发布时间:2015-11-30 14:20:37 Python

链表环路检测算法

我在网上看了一些面试问题,关于你将如何找到,如果有一个链表循环和解决方案(Floyd的循环查找算法)是有两个指针,一个是比其他快两倍,并检查他们再见面的。 我的问题是:为什么我不能只保留一个指针不动,只需将其他指针向前每次1步 解决方案 由于第一(非移动)指针可能不会说谎的内环路,所以指针永远不会满足。 (请记住,一个循环可以由该列表的一部分的。) ..
发布时间:2015-11-30 14:19:15 C/C++

在链表检测周期的开始证明

从计算器里外的几个职位,我已经知道如何检测周期一个链表,一个周期的长度。我还发现,关于如何检测循环的开始的方法。 下面是步骤重新仅供参考。 探测循环: 有两个指针,被称为经典的龟兔赛跑。移动野兔2步骤和乌龟1。如果他们在某一点相遇,那么肯定是一个周期,明显的交汇点是周期里面。 河套查找长度: 保持镇静指针固定在交汇点,同时增加其他直到他们原来的样子了。增加一个计数器,当您去,并在满足计数 ..
发布时间:2015-11-30 14:14:34 C/C++

从有序链表创造平衡二叉搜索树

什么是从排序单链表建立一个平衡的二叉搜索树的最佳方法是什么? 解决方案 如何创建节点自下而上的? 此解决方案的时间复杂度为O(N)。详细解释在我的博客文章: 的http:// www.leet code.com / 2010/11 /转换排序列表到平衡binary.html 二遍历链表是我们所需要的。优先遍历获得列表的长度(其然后被传递作为参数n到函数),然后创建根据列表的顺序节点 二 ..
发布时间:2015-11-30 14:13:10 C/C++

如何找到从一个单向链表结束第n个元素?

下面的函数试图找到第n 为最后一个的单链表元素。 例如: 如果该元素是 8-> 10→5→7-> 2→1→5→4- GT; 10→10 那么结果是 7 来最后一个节点是 7 。 任何人可以帮助我如何code是工作还是有一个更好,更简单的方法? 一个LinkedListNode nthToLast(一个LinkedListNode头,INT N){ 如果(头== NULL | ..
发布时间:2015-11-30 14:11:45 C/C++

你将如何挑链表但不知其长度均匀随机元素?

你会如何选择一个统一的随机元素的链表但不知其长度在一通,或者如果不是两个通行证? 解决方案 使用水库取样有关选择其中的一个元素: 选择一个元素(概率1) 之后,为第k个元素的概率是1 / K捡起来(如更换与第k个元素现有的选择) 我将让你证明这将导致统一选择的元素。 ..
发布时间:2015-11-30 14:09:49 C/C++

C程序可以扩大二次方程式

我想有一个C程序,让我输入(X + 1)(X + 3)以及其他类似的东西,包括X ^ 2。到目前为止,我有使用链表一个非常复杂的系统,但我觉得应该有一个更简单的解决方案。 从输入输出,(X + 1)(X + 3)将为x ^ 2 + 4×+3打印出来。 到目前为止,我绕过一个结构_term用int,char和int对于系数,有利于数字和功率。所以2X ^ 4将被保存为| 2 |'X'| 3 |。 ..
发布时间:2015-11-30 14:09:31 C/C++

扭转链表每k个节点

我是preparing的技术面试,我停留在写这个程序来扭转链表每k节点。 例如 1→2→3→4- GT; 5→6 //链表 2→1→4- GT; 3→6-→5 //输出对于k = 2 编辑: 下面是我的code。我只得到6> 5的输出。 结构节点* recrev(结构节点*诺德,INT C) { 结构节点*根=诺德,*温度,*最后,* preV = NULL; 诠释计数= ..
发布时间:2015-11-30 14:01:14 C/C++

当双链表比单向链表更加有效?

在今天接受采访时我被问的问题。 除了回答扭转清单,并向前和向后遍历有一些“基础”,在它的面试官不断强调。我放弃了,当然面试后做了一些研究。似乎插入和删除是在双向链表比单链表更有效。我不太清楚怎么能更有效的双向链表,因为很明显,更多的参考资料,需要改变。 任何人都可以解释背后的秘密?老实说,我做了相当多的研究和无法理解我的主要麻烦是一个O(n)的搜索仍然需要为双链表的事实。 解决方案 插入显然 ..
发布时间:2015-11-30 13:59:32 C/C++

优化快速排序的单链表

我的工作实现快速排序功能,单链表排序。我会什么算法使用做到这一点?为一个链接列表,将采取的,而不是通常的O(1),用于阵列最坏情况为O(N)的每一个比较。那么,什么会最坏情况下的复杂性有多大? 要总结,我需要什么样的修改做出的快速排序算法,以取得最佳的排序算法,什么是算法的最坏情况下的复杂性? 谢谢! 我有以下的实现: 公共静态SingleLinkedList快速排序(SingleLink ..
发布时间:2015-11-30 13:53:55 C/C++

排序链表

我已经用C#编写一个基本的链表类。它有一个Node对象,(显然)重新presents每个节点在列表中。 在code不使用IEnumerable的,但是,我可以实现排序功能?我使用的语言是C#。有这样的一个例子在C#? 我是从这个感谢 解决方案 功能的快速排序和归并 下面是一个链表写在功能性风格的快速排序和归并方法: 类List { 公众诠释的项目; 公开名单休息; ..
发布时间:2015-11-30 13:51:48 C#/.NET

排序C语言链表

我被要求写一个函数,需要3未排序的链接列表,并返回一个单一的有序链表,结合了所有三个列表。什么是你能想到的最好的方法是什么? 我真的不具备的内存限制,但你会怎么做有/无内存限制? 解决方案 一种选择是使用归并排序上所有三个链表,然后用一个最后的合并步骤,合并在一起成为一个整体的排序列表。 不像大多数为O(n log n)的排序算法,归并排序可以在链表高效运行。在一个较高的层次,直觉后面归并排 ..
发布时间:2015-11-30 13:49:46 C/C++

为什么由两个增加的指针,同时寻找在循环链表,为什么不3,4,5?

我看了一下现在我的问题是,为什么我们增加更快的指针由2.为什么不是别的东西?由2提高是必要的,或者我们可以用X增加它来获得结果。是否有必要,我们会找到一个循环,如果我们增加更快的指针由2个或可能存在的情况下,我们需要增加3或5或x。 解决方案 没有理由,你需​​要使用两个数。步长任何选择就可以了(当然,除了一个,)。 要明白为什么这个工程,让我们来看看为什么Floyd的算法的工作摆在首位。我 ..

检查两个链表合并。如果是这样,在哪里?

这问题可能是旧的,但我想不出一个答案。 说,有两个不同长度的名单,在一个点合并;我们怎么知道那里的汇合点是? 条件: 我们不知道的长度 我们应该分析每个列表只有一次。 解决方案 如果 将“改装是不允许的”,它的意思“,你可能会改变,但最终他们应该恢复”,和 我们可以准确地遍历表的两次的 下面的算法将是解决办法。 首先,号码。假设第一个列表长度 A + C ,第二个是长度 B + ..
发布时间:2015-11-30 13:46:00 C/C++

排序双向链表与合并排序

喜 我发现这个code在互联网上,这是对数组,我想改变它的双向链表(而不是指数,我们应该使用指针)请你帮我,我怎么能更改合并方法(我有我自己改变的排序方法)也是这不是我家的工作,我喜欢和链表的工作! 公共类归并{ 私人DoublyLinkedList LocalDoublyLinkedList; 公共归并(DoublyLinkedList名单){ LocalDoublyLinkedL ..
发布时间:2015-11-30 13:38:16 Java开发

链表递归逆

我在看下面从斯坦福大学图书馆的code: 无效recursiveReverse(结构节点** head_ref) { 结构节点*第一; 结构节点*休息; / *空单* / 如果(* head_ref == NULL) 返回; / *假定第一= {1,2,3},其余= {2,3} * / 第一= * head_ref; 其余 ..
发布时间:2015-11-30 13:35:03 C/C++

由两个相交的链表寻找交叉点

假设有两个单链接两者的列表相交在某些时候,成为一个单一的链表。 的头部或开始两个列表的指针是已知的,但交叉节点是不知道。此外,节点的每个列表的它们相交之前的数目是未知的,这两个列表可以具有它不同即List1中可以具有n个节点之前到达交叉点和列表2可能具有m个节点之前到达交叉点,其中m和n可以是 M = N, 在M< n或 M> N 一个已知或简单的解决方案是每一个节点指针中的第一个列表 ..
发布时间:2015-11-30 13:34:58 C/C++

二叉树与链表与哈希表

我要建一个符号表的一个项目我工作。我想知道什么人民的意见是对的各种方法的优点和缺点,可用于存储+创建符号表。 我已经做搜索的公平一点,最常见的建议是二进制树或链表或哈希表。我想知道什么是以上所有的优点,还是缺点(我无法找到这样的东西)。 谢谢, 本 更新:我在C ++的工作。 解决方案 您的使用情况是presumably将是“插入一次数据(例如,应用程序启动),然后进行大量的阅读,但几乎 ..
发布时间:2015-11-30 13:33:51 C/C++

什么是有效的算法来找到一个单向链表是否是圆形/循环与否?

我怎样才能找到一个单向链表是否是圆形/循环与否?我试图寻找,但没有找到一个满意的解决方案。如果可能的话,你可以提供的伪code或Java? 例如 1 3 5 71 45 7 5 - 停止,它是一个循环链表 解决方案 标准答案是采取两个迭代开始时,递增第一个一次,而第二个两次。检查,看看他们是否指向同一个对象。然后重复,直到一个是递增的两倍或者遇到第一个或到达终点。 该算法在列表中找到任何循环 ..
发布时间:2015-11-30 13:29:03 Java开发