相关疑难解决方法(0)

从递归到迭代的方法

在我多年的编程中,我已经使用递归来解决简单的问题,但我完全清楚,有时你需要迭代,因为内存/速度问题.

所以,在很久以前的某个时候,我去尝试找出是否存在任何"模式"或文本书的方式将常见的递归方法转换为迭代而没有发现任何东西.或者至少我记不住任何事都会有所帮助.

  • 有一般规则吗?
  • 有"模式"吗?

theory iteration recursion computer-science

323
推荐指数
11
解决办法
12万
查看次数

合并排序链接列表

我最近刷了一些基础知识,发现合并排序链表是一个非常好的挑战.如果你有一个很好的实现,那么在这里展示它.

sorting algorithm mergesort linked-list

51
推荐指数
4
解决办法
8万
查看次数

使用Stacks进行非递归MergeSort?

我的教授分配了一个问题,我们必须使用Stacks(或Queues)来创建一个非递归的MergeSort.目前的代码如下:

 private static void sort(Comparable[] a, int[] index, int[] aux, int lo, int hi) {
    if (hi <= lo) return;
    int mid = lo + (hi - lo) / 2;

    sort(a, index, aux, lo, mid);
    sort(a, index, aux, mid + 1, hi);

    merge(a, index, aux, lo, mid, hi);
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理这个问题,任何帮助将不胜感激.我知道我必须使用while循环来模拟递归.但是,我如何分割实际值?另外,如何跟踪分区值的中间值?

我真的很困惑这个问题.任何帮助,将不胜感激!

java

6
推荐指数
1
解决办法
4104
查看次数