O(1) の 2 つのリンクされたリストを、jdk1.6、Google、または apache commons collection などを介して Java と連結するにはどうすればよいですか? たとえば、jdk には、O(n) である addAll メソッドしかありません。
私が見逃しているもう 1 つの機能は、それぞれが逆順になる可能性がある 2 つのリストを連結することです。これを説明するために、2 つのリスト a->b->c と e->f->g をマージして
- a->b->c->e->f->g
- a->b->c->g->f->e
- c->b->a->e->f->g
- c->b->a->g->f->e
そのようなリストの実装を知っていますか、それとも独自のリンク リストを実装する必要がありますか? また、既存のソリューションを微調整する方法を知っておくと役立ちます (たとえば、jdk LinkedList には多くのプライベート メソッドしかありません)。これらの機能は私には非常に明白に思えます。
MicSim が指摘したように、 Java で一定時間内に 2 つのリストをマージすることは関連していますが、実際の重複ではありません! 質問は次のとおりです。
- 他のコレクションライブラリで可能ですか?
- 逆を連結する方法は?