Algorytm Cheneya, opisany po raz pierwszy w 1970 w artykule stowarzyszenia ACM przez C.J. Cheneya, jest metodą odśmiecania pamięci w systemach softwarowych. W tym schemacie sterta jest podzielona na dwie połowy, z których w danym momencie tylko jedna jest w użyciu. Odśmiecanie pamięci odbywa się poprzez kopiowanie żywych obiektów z pierwszej połowy do drugiej, która następnie staje się nową stertą. Cała stara sterta zostaje odrzucona w jednym kawałku.

Algorytm Cheneya odzyskuje elementy w następujący sposób: Referencje do obiektów na stosie. Sprawdzane są referencje do obiektów na stosie. Zostaje podjęte jedno z dwóch następujących działań dla każdej referencji do obiektu, która wskazuje na obiekt na starej stercie: Jeśli obiekt nie został jeszcze przeniesiony do nowej sterty, jest to realizowane poprzez stworzenie identycznej kopii na nowej stercie, a następnie zastąpienie wersji ze starej sterty przekierowującym wskaźnikiem do kopii. Następnie aktualizowana jest referencja obiektu aby odnosiła się do nowej wersji w nowej stercie. Jeśli obiekt został już przeniesiony do nowej sterty, po prostu aktualizuje się odwołanie według przekierowującego wskaźnika ze starej sterty.