我想问一下,这样的算法描述用的什么语言?
procedure cluster(S, k) /*将数据集S聚类成为k个簇*/begin
1. T := build_kd_tree(S) /*对应数据集S建立一个K-DTree T*/
2. Q := build_heap(S) /*对应数据集S建立一个堆Q*/
3. while size(Q) > k do { /*聚类直至簇的个数为k */
4. u := extract_min(Q) /*找到最近的两个簇u,v */
5. v := u.cloest
6. delete(Q, v)
7. w := merge(u, v) /*将u,v合并为簇w */
8. delete_rep(T, u);delete_rep(T, v);insert_rep(T, w)
9. w.cloest := x /* x is an arbitrary cluster in Q*/
10. for each x∈Q do{ /*调节因合并带来的T和Q的变化*/
11. if (dist(w,x) < dist(w,w.cloest))
12. w.cloest := x
13. if x.cloest is either u or v {
14. if dist(x, x.cloest) < dist(x.w)
15. x.cloest := cloest_cluster(T, x, dist(x,w))
16. else
17. x.cloest := w
18. relocate(Q, x)
19. }
20. else if dist(x, x.cloest) > dist(x, w) {
21. x.cloest := w
22. relocate(Q, x)
23. }
24. }
25. insert(Q, w)
26. }
end