Jarvisův algoritmus (nebo Jarvisův traversální algoritmus nebo algoritmus balení dárků) určuje sekvenci prvků sady , které tvoří konvexní obal této sady. Metodu si lze představit jako omotání sady hřebíků zaražených do prkna lanem. Algoritmus běží v čase , kde je celkový počet bodů na rovině, je počet bodů v konvexním trupu.
Nechť je dána sada bodů . Spodní bod zcela vlevo je brán jako počáteční bod (lze jej nalézt za obvyklým průchodem všemi body), je to přesně vršek konvexního trupu. Další bod ( ) je bod, který má nejmenší kladný polární úhel vzhledem k bodu jako počátku. Poté se pro každý bod (2<i<=|P|) proti směru hodinových ručiček hledá takový bod tak , že se mezi zbývajícími body najde dále (+ vlevo dole), ve kterém bude největší úhel mezi úsečkami a tvořil . Bude to další vrchol konvexního trupu. V tomto případě se nehledá úhel samotný, ale hledá se pouze jeho kosinus přes skalární součin mezi paprsky a , kde je poslední nalezené minimum, je předchozí minimum a je kandidátem na další minimum. Nové minimum bude bod, ve kterém bude kosinus nabývat nejmenší hodnoty (čím menší je kosinus, tím větší je jeho úhel). Hledání vrcholů konvexního trupu pokračuje až do . V tom okamžiku, kdy se další bod v konvexním trupu shoduje s prvním, algoritmus se zastaví – konvexní trup je postaven.
Smyčka (4) se provede jednou, zatímco smyčka (a) se provede pokaždé pro . Všechny ostatní operace se provádějí v . Algoritmus tedy funguje pro nebo v nejhorším případě, kdy všechny body spadají do konvexního trupu.