摘要: 1. 简述 杨氏矩阵中,每行元素是递增的,每列元素也是递增的。即a[i][j]<a[i+1][j]且a[i][j]<a[i][j+1]。要在这样的矩阵中查找某个数值元素的位置,复杂度可以达到O(M+N),其中M为矩阵行长度,N为矩阵列长度。2. 原理 从矩阵的左下角或者矩阵的右上角处开始递归运行,以左下角为例,value为要查找的值,(i,j)为当前矩阵中的位置,初始为(M-1, 0)。 如果超过了矩阵范围则说明不存在这样的元素,返回-1,-1。 否则的话,如果当前位置的值大于value,说明要移动位置,使得数值减小,即递归使得i=i-1;如果当前位置的值小于value,说明要移动 阅读全文
posted @ 2011-08-23 13:31 xiaodongrush 阅读(2156) 评论(1) 推荐(0) 编辑
摘要: 1.算法流程 输入:聚类个数k,以及包含 n个数据对象的数据库。 输出:满足方差最小标准的k个聚类。 (1)从n个数据对象任意选择k个对象作为初始聚类中心 (2)计算每个对象与聚类中心的距离;并根据最小距离重新对相应对象进行划分 (3)重新计算每个聚类的均值作为新的聚类中心 (4)循环(2)到(3)直到每个聚类不再发生变化为止2. 算法分析 K-Means的优化目标可以表示为: 其中,x_n表示数据对象,μ_k表示中心点,r_nk在数据点n分配到类别k的时候为1,没有分配到类别k的时候为0。 整个算法通过迭代计算,找到合适的r_nk和μ_k来,使得J最小。 算法流程的第二步,固定μ_k,更.. 阅读全文
posted @ 2011-08-23 11:14 xiaodongrush 阅读(6993) 评论(1) 推荐(0) 编辑