![]() |
1
4
Wikipedia 对如何实现它有很好的解释。 在实现了该算法之后,创建链表应该是一件轻而易举的事情(因为它只需要将每个访问的元素附加到列表中) |
![]() |
2
3
这是一种笨拙的树遍历类型。我想知道有多少人真的需要在真实的代码中做这样的事情。然而,这里要解决的问题是。。。 下面是我处理这个问题的方法:
接下来,这个“之字形”顺序意味着它需要交替处理子节点的方向。如果一个特定的迭代从左到右,那么下一个迭代必须从右到左。然后从左到右进行后续迭代,依此类推。因此,在我的想法中,循环处理一个级别并构建下一个级别的列表,当它为下一个级别构建节点列表时,它可能需要有某种交替的行为。在偶数次迭代中,列表是以一种方式构建的。在奇数迭代中,列表是以另一种方式构建的。 或者,考虑这整件事的另一种方法是:设计一个可以按1、2、3、4、5、6等顺序构建结果列表的解决方案。然后修改该设计,使其具有之字形顺序。
|
![]() |
3
2
这可能会帮助您:
|
![]() |
4
2
假设级别0的节点将存储在名为head1的堆栈1中;现在在元素不为空时弹出该元素,并将元素推入堆栈2中。插入的顺序(即左或右子级)将取决于级别。和更改每个级别的插入顺序。
|
![]() |
5
1
|
![]() |
6
1
隐马尔可夫模型。。。这是一个艰难的时刻。以这种顺序遍历的问题是,您需要进行大量的跳转。这通常适用于任何不是深度或宽度优先的树遍历顺序。 下面是我将如何解决这个问题。从一个节点列表的空数组开始,首先遍历树的深度。确保跟踪遍历的深度。 在遍历的每个点上,注意遍历的深度,并在数组的索引处选取列表。如果没有,请先添加。如果深度为偶数(假设根的深度为0),则将节点添加到列表的末尾。如果很奇怪,就把它加到开头。 遍历所有节点后,连接列表。 |
|
7
1
|
![]() |
8
0
这个( http://cslibrary.stanford.edu/109/TreeListRecursion.html )答案是漂亮的图片:) |
![]() |
9
0
这里的链表是单独链接和排序的。希望您可以轻松地在这段代码中进行更改,以获得双链接列表。只要复制粘贴这个代码并编译它。它会很好的。 |
![]() |
10
0
假设二叉树的根在0级(偶数)。连续的层次可以被认为是奇偶交替的(根的子层次是奇数层次,它们的子层次是偶数层次等等)。 在推送子元素之后,我们移除下一个可用的元素(栈顶或队列前面),并根据移除的元素所在的位置将level更改为奇数或偶数,从而递归地调用函数。删除的元素可以插入到双链表的末尾。下面是伪代码。
|
![]() |
11
-1
|
![]() |
Bala Ji · 以下BFS的实施效率如何? 5 月前 |
![]() |
Bioinfotec · 如何在R中将两个嵌套列表合并为一个列表? 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
ep84 · Python中处理扩展线性序列的快速(最快)方法 11 月前 |
![]() |
Gerry · python中高效的Merge排序实现 1 年前 |
![]() |
Noel · C#通过引用返回结构导致复制 1 年前 |