В алгоритмах кластеризации использующих центроиды (да и вообще -  построенные на метрических мерах) как правило требуется задание количества кластеров, на которые вы желаете разбить свой набор данных в качестве входного параметра.   Измените приведенный выше вами  пример на такой - 1,2,4,11,12,18,19,20. И вот уже непонятно, тут три или четыре кластера?  Просто в одномерном случае мы можем  построить рисуночек и ответить на вопрос визуально. В многомерном так не получается, и определение "корректного" количества кластеров выливается в отдельную и весьма не простую задачу.  И точног, абсолютно обоснованного решения, кстати, может и не иметь. Можете поискать "метод колена при кластеризации".  Только зачем себе жизнь усложнять?
Если же исходить из того, что данные к вам поступают, например, потоком и их надо  бить на некоторые кластеры, то я бы вообще - в одномерном случае!!! -  задал правило и не мучился бы. Например, в один кластер попадают точки, отстающие от ближайшей точки кластера не далее чем на 1. Или на 2, или на 3  или  вообще на 100 - но это как раз и будет тем семантически зависимым параметром вашего алгоритма. При этом надо признать, что количество кластеров может изменяться.  Причем и увеличиваться и уменьшаться. Например, в потоке 8,5,4,1,6,7 -  у вас последовательно будет  1,2,2,3,3,2 кластера. Но это более менее согласуется с нашим интуитивным представлением.  И главное, опровергнуть корректность именно такого количества кластеров -  при заданном правиле -  не удастся.