A Jarvis-algoritmus (vagy a Jarvis-bejárási algoritmus vagy az ajándékcsomagoló algoritmus) meghatározza a halmaz elemeinek sorozatát, amelyek konvex burkot alkotnak ehhez a halmazhoz. A módszer úgy képzelhető el, hogy egy deszkába vert szögkészletet kötéllel becsomagolunk. Az algoritmus időben fut , ahol a síkon lévő pontok teljes száma, a konvex hajótest pontjainak száma.
Legyen adott egy ponthalmaz . A bal szélső alsó pontot vesszük kiindulási pontnak (a szokásos áthaladás mögött minden ponton található), ez pontosan a domború hajótest teteje. A következő pont ( ) az a pont, amelynek a legkisebb pozitív poláris szöge van az origó ponthoz képest. Ezt követően minden ponthoz (2<i<=|P|) az óramutató járásával ellentétes irányban keresünk egy olyan pontot, ahol a fennmaradó pontok között (+ a legalacsonyabb balra) megkeresünk egy olyan pontot , amelyben a és az egyenesek közötti legnagyobb szög lesz . alakult . Ez lesz a konvex hajótest következő csúcsa. Ebben az esetben magát a szöget nem keresi, hanem csak a koszinuszát keresi a sugarak közötti skaláris szorzaton keresztül, és ahol az utolsó talált minimum, az előző minimum, és a következő minimum jelöltje. Az új minimum az a pont lesz, ahol a koszinusz a legkisebb értéket veszi fel (minél kisebb a koszinusz, annál nagyobb a szöge). A konvex hajótest csúcsainak megtalálása addig folytatódik, amíg . Abban a pillanatban, amikor a konvex hajótest következő pontja egybeesik az elsővel, az algoritmus leáll - a konvex hajótest megépül.
A ciklus (4) egyszer, míg az (a) ciklus minden alkalommal végrehajtásra kerül . Az összes többi műveletet a . Ezért az algoritmus akkor működik, vagy a legrosszabb esetben, amikor minden pont beleesik a konvex hajótestbe.