История изменений
Исправление pseudo-cat, (текущая версия) :
У ТЕБЯ в постановке задачи есть некая функция next. Что она возвращает? Одно значение, или целый список?
возвращает список.
На самом деле идея, про которую я толдычу очень проста, вот смотри, к примеру, описание DBSCAN в вики - https://en.wikipedia.org/wiki/DBSCAN
expandCluster(P, NeighborPts, C, eps, MinPts) { add P to cluster C for each point P' in NeighborPts { if P' is not visited { mark P' as visited NeighborPts' = regionQuery(P', eps) if sizeof(NeighborPts') >= MinPts NeighborPts = NeighborPts joined with NeighborPts' } if P' is not yet member of any cluster add P' to cluster C } }
Если читал SICP, там описывается программа для эмуляции работы эл. схем, в которой используется расписание и «время» в виде условно бесконечного списка. Просто идея интуитивно понятнее рекурсии и всяких там генераторов, но вот так как есть я не видел её реализации, потому и интересуюсь.
Исходная версия pseudo-cat, :
У ТЕБЯ в постановке задачи есть некая функция next. Что она возвращает? Одно значение, или целый список?
возвращает список.
На самом деле идея, про которую я толдычу очень проста, вот смотри, к примеру, описание DBSCAN в вики - https://en.wikipedia.org/wiki/DBSCAN
expandCluster(P, NeighborPts, C, eps, MinPts) { add P to cluster C for each point P' in NeighborPts { if P' is not visited { mark P' as visited NeighborPts' = regionQuery(P', eps) if sizeof(NeighborPts') >= MinPts NeighborPts = NeighborPts joined with NeighborPts' } if P' is not yet member of any cluster add P' to cluster C } }
Если читал SICP, там описывается программа для эмуляции работы эл. схем, в которой используется расписание и «время» в виде условно бесконечного списка. Просто идея интуитивно понятнее рекурсии и всяких там генераторов, но вот так как есть я не видел её реализации, потому и интересуюсь.