Yukarıda adı geçen yaklaşım, her hücrenin, dizinin kaç kez yeniden başlatılması gerektiğini tutacak kadar büyük bir sayı tutabilmesini gerektirir; bu, önemli bir alan cezasıdır. Bir yuva hiçbir zaman meşru olarak yazılmayacak en az bir değer tutabilirse, bir O(Wlg(N))zaman cezası eklemek pahasına başka (sabit olmayan) bir boşluk cezası kullanmaktan kaçınılabilir , burada arasındaki farklı dizi yuvalarının Wsayısı temizleme işlemleri ve dizi boyutudur. Örneğin, birinin -2,147,483,647 ile 2,147,483,647 arasındaki tam sayıları depolayacağını (ancak asla -2,147,483,648) tamsayı depolayacağını ve boş dizi öğelerinin sıfır olarak okunmasını istediğinizi varsayalım. Diziyi -2.147.483.648 ile doldurarak başlayın (bu değeri arayınNB). Uygulama için bir dizi yuvası okurken, değeri Bsıfır olarak bildirin. Dizi yuvası yazmadan önce I, bu tutulan kontrol Bve bu durumda ve Ibirden büyük, yuvaya bir sıfır depolamak olan I/4(bu tutulursa, ve bu konum için de benzer bir kontrol yaptıktan sonra B, I/16vs.).
Diziyi temizlemek için I, dizi tabanına bağlı olarak 0 veya 1'e eşit olarak başlayın (açıklanan algoritma her ikisi için de çalışır). Daha sonra aşağıdaki prosedürü tekrarlayın: Öğe Iise B, artırılırsa Ive eğer bunu dörtten bir kat verirse, dörde bölün (bölme 1 değerini verirse sonlandırın); öğe Iyoksa B, Borada saklayın ve Idört ile çarpın ( Isıfırdan başlarsa, dört ile çarpmak sıfır bırakır, ancak 0 öğesi boş Iolacağından, artırılır).
Yukarıdaki "dört" sabitinin diğer sayılarla değiştirilebileceğini, daha büyük değerlerin genellikle daha az iş etiketlemesi gerektirdiğini, ancak daha küçük değerlerin genellikle daha az iş temizliği gerektirdiğini unutmayın; etiketli dizi yuvalarının temizlenmesi gerektiğinden, üç veya dört değeri neredeyse kesinlikle en uygunudur; Dört değer kesinlikle optimale yakın olduğu için, iki veya sekizden daha iyi olduğu ve diğer herhangi bir sayıdan daha uygun olduğu için, en makul seçim gibi görünecektir.