एक और सरल तरीका मूल रूप से 1 डी सरणी की छंटाई का उपयोग करना है: अर्थात प्रत्येक बिंदु पर पुनरावृति और उन मूल्यों को प्राप्त करें जो सकारात्मक और नकारात्मक दोनों दिशाओं में उससे कम से कम दूरी पर हैं। उदाहरण के लिए:
data = [1,2,3,4,5,6,7,8,9,10,12]
k = 5
for a in data:
print {'group': sorted(k, key=lambda n: abs(n-a))[0:k], 'point': a}
बाहर दे देंगे:
{'group': [1, 2, 3, 4, 5], 'point': 1}
{'group': [2, 1, 3, 4, 5], 'point': 2}
{'group': [3, 2, 4, 1, 5], 'point': 3}
{'group': [4, 3, 5, 2, 6], 'point': 4}
{'group': [5, 4, 6, 3, 7], 'point': 5}
{'group': [6, 5, 7, 4, 8], 'point': 6}
{'group': [7, 6, 8, 5, 9], 'point': 7}
{'group': [8, 7, 9, 6, 10], 'point': 8}
{'group': [9, 8, 10, 7, 6], 'point': 9}
{'group': [10, 9, 8, 12, 7], 'point': 10}
{'group': [12, 10, 9, 8, 7], 'point': 12}
जो इंगित करता है, कि एक विशेष बिंदु के करीब आइटम मूल रूप से इसके समूह के तहत हैं। इस तकनीक में विचार करने के लिए एकमात्र चीज चर k है, जो क्लस्टर का निश्चित आकार है :-)।