提取以下段落中提到的排序演演算法。
雖然有很多種排序演演算法，但在實際應用中，有幾種演算法佔主導地位。插入排序廣泛用於小資料集，而對於大資料集，主要使用漸進有效的排序演演算法，主要有堆排序、歸併排序或快速排序。高效的實現通常使用混合演演算法，將漸進有效的演演算法與插入排序結合在遞迴底部的小列表中。高度調整的實現使用更復雜的變體，例如Timsort（歸併排序、插入排序和其他邏輯），用於Android、Java和Python，以及introsort（快速排序和堆排序），用於某些C++排序實現和.NET的變體形式。

對於更受限制的資料，例如在固定間隔內的數字，廣泛使用分佈排序，例如計數排序或基數排序。氣泡排序和其變體在實踐中很少使用，但在教學和理論討論中常見。

當物理排序對像（例如按字母順序排列檔案、測試或書籍）時，人們通常直覺地使用插入排序來處理小集合。對於較大的集合，人們通常首先進行分桶，例如按初始字母分桶，多個分桶允許對非常大的集合進行實際排序。通常空間相對便宜，例如將對像散佈在地板上或大面積上，但操作很昂貴，特別是將對像移動到較遠的距離——引用的區域性性很重要。歸併排序對於物理物件也是實用的，特別是因為可以使用兩隻手，一隻手用於合併每個列表，而其他演演算法，例如堆排序或快速排序，則不適合人類使用。其他演演算法，例如庫排序（插入排序的變體，留下空格），也適用於物理使用。
插入排序、堆排序、歸併排序、快速排序、timsort、基數排序、氣泡排序、桶排序、庫排序以及多種排序演算法相結合的混合演算法。