In dem sinne gibt es nicht "das" KNN, sondern etwas verschiedene konzepte unter einem überbegriff zusammengefasst - jedes KNN hat sein bestimmtes anwendungsgebiet...
Auch wenn es etwas mühsam erscheint, würd ich dir empfehlen, eher ein buch zu nehmen, wo der mathematische hintergrund erklärt wird und nicht gleich an die implementation zu gehen, da man (sollte man es halbwegs ernsthaft betreiben wollen), nicht einfach "irgendwas" drauflosprogrammieren sollte! Kleinere beispiele nachprogrammieren und danach mit KNN simulatoren beschäftigen und danach erst selbst ein KNN schreiben, dann ist der erfolg fast garantiert 
buch kann ich dir leider keines empfehlen, da ich selber nur nach scripten gelernt hab.