描述以下算法的基本原理。



算法：K均值聚类
K均值聚类是一种基于距离的聚类算法。其基本原理是将n个数据对象分成k个簇，使得簇内的数据对象相似度较高且簇间的数据对象相似度较低。该算法的步骤如下：

1. 随机选择k个数据对象作为初始簇中心；
2. 将每个数据对象分配给与其距离最近的簇中心；
3. 根据已分配的数据对象重新计算簇中心；
4. 重复步骤2和步骤3，直到簇中心不再改变或达到预定的迭代次数；
5. 返回最终聚类结果。

该算法的时间复杂度为O(n*k*t)，其中n为数据对象个数，k为簇的个数，t为迭代次数。