Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Algoritme gabung
Pada umumnya algoritme gabung berjalan dalam waktu proposional untuk penjumlahan pada panjangnya daftar; Algoritme gabung beroperasi pada bilangan besar dalam daftar yang akan segera mengalikan penjumlahan panjangnya daftar pada saat itu untuk keluaran gambar "pointers points" yang mana menunjuk pada item yang paling rendah, yang dapat terpengaruhi dengan suatu "heap(tumpukan)" yang didasarkan prioritas antrian dalam O(lg n) waktu, untuk O("m" lg "n") waktu (di mana "n" adalah bilangan pada daftar yang digabungkan, "m" adalah penjumlahan panjangnya daftar, dan "lg" adalah "log" basis 2). Ketika menggabungkan panjang m dua daftar, terdapat suatu perbandingan lompatan yang lebih rendah 2"m"-1 yang ada dalam kasus terburuk.