例如,给定一个整数数组及其两个连续序列的开始位置,分别为“ b1”和“ b2”,此外还提供了位置“ last”,该位置指示第二个序列的结束位置。从array [b1]到array [b2-1]和从array [b2]到array [last]都是分开排列的,如何 使用O(n)时间和O(1)空间 成本将它们合并到位?
这绝不是一个简单的问题。有可能,但是在实践中很少这样做,因为它比使用N- scratch空间的标准合并要复杂得多。Huang和Langston的论文自80年代末以来一直存在,尽管实际的实现直到后来才真正浮出水面。早些时候,L。Trabb- Prado于1977年发表的论文明显早于Huang和Langston,但我为找到该论文的确切文本而充满挑战。仅引用比比皆是。
后来出色的出版物,Geert,Katajainenb和Pasanen 撰写的《渐近有效的就地合并》(1995年),很好地涵盖了多种算法,并引用了Trabb- Prado对这个问题的贡献。