Answers:
我认为,您一定不能接受不了解这些内容,因为它们确实是基础。话虽如此,您对它们的不了解并不令人感到难过。您可以向孩子解释链接列表。因此,如果您的老师未能向您解释它们,那也是他们的错。因此,您不应该花时间担心,而应该尝试寻找可以向您解释的人。通常,与全日制学生相比,同伴学生要好得多。
想象一下,您有一组铁路运输车,其中每个运输车都有足够的容量来容纳一个数据。每个托架的末端都有某种挂钩,可以将其连接到另一个托架的前面。
实际上,这为您提供了一个链接列表:
与此相反,您可以将数组视为具有给定数量的车厢的火车,无法以任何方式重新排列。您所要做的就是更改其中的数据。此模型还说明了数组存在的许多问题:
至于堆栈:“堆栈”不是一个数据结构,而是一个想法。堆叠的想法是,它的行为很像一堆书。您只能将书堆放在堆栈顶部,也只能将顶书从堆栈中取出(至少在书足够重的情况下)。
话虽如此,如果您将笔架中的数据视为书籍,而将最前面的笔架中的书视为堆栈的顶部,则可以将链接列表用作堆栈。
所以我希望这对您有所帮助。也许不是。也许您更喜欢视觉类型。在这种情况下,我建议您找一个擅长给出视觉解释并向您解释的人。不会花很长时间,但是绝对值得。
现在可以为此作斗争。但是,从长远来看,仅仅接受它不是一个选择。
在其他答案中也很不错,只需添加一个注释:对于许多人来说,IMO链表可能比栈更难,因为它们建立在间接(通过引用 / 指针表示)上。而这些潜在的概念可能是难以把握。
您肯定会发现某些软件开发领域比其他领域更难。无论是某些算法,某些设计模式还是某些程序,都将因人而异。我发现我必须在真正的程序上使用某些东西,才能完全理解它。
如果有人声称自己知道这一切并且从未经历过学习问题的经历,我会更担心。
就个人而言,我似乎从来没有遇到过链表问题,但是后来我从事了一个程序工作了8年,该程序在所有地方都使用过,因此我每天都在与他们一起工作。只要您知道在哪里可以找到需要刷新信息的信息,并且知道“问题”所在的区域,就可以了。