Algorytm Jarvisa, marsz Jarvisa lub owijanie prezentów (ang. gift wrapping algorithm) – metoda wyznaczania otoczki wypukłej zbioru punktów umieszczonych na płaszczyźnie lub przestrzeni o większej liczbie wymiarów.
Algorytm został niezależnie opracowany przez Donalda Chanda oraz Shama Kapura (1970) oraz R. Jarvisa (1973, przypadek na płaszczyźnie).
Algorytm na płaszczyźnie Algorytm działa w czasie gdzie to całkowita liczba punktów, natomiast to liczba punktów należących do otoczki. Zwykle w praktyce jednak w pesymistycznym przypadku złożoność czasowa może wynieść
Wariant 1 thumb|400px|Przebieg algorytmu Jarvisa dla przykładowych danych Algorytm przebiega następująco: – punkt na otoczce wypukłej o najmniejszej współrzędnej y (jeśli jest więcej niż jeden, wybierany jest ten o najmniejszej współrzędnej x), – punkt na otoczce wypukłej o największej współrzędnej y (jeśli jest więcej niż jeden, wybierany jest ten o największej współrzędnej x), wyznaczanie prawego łańcucha otoczki (niebieski):
powtarzaj:
– punkt dla którego kąt między wektorem a wektorem jest najmniejszy; należy do otoczki, jeśli koniec iterowania,
wyznaczanie lewego łańcucha otoczki (czerwony):
powtarzaj:
– punkt dla którego kąt między wektorem a wektorem jest najmniejszy;