模式识别ISODATA算法C++实现 ISODATA算法是模式识别课程中一个比较重要的动态聚类算法。本程序模拟了其分类过程。由于程序的开发平台是VisualStudio2012,对比较旧的版本可能无法兼容,解决办法是:把代码复制出来自己重新建立工程实现。
分治法求逆序数 求逆序数的方法很多。最容易想到的办法是分别对序列中每一个元素求其逆序数,再求所有元素的逆序数总和,易分析得出这样的方法其时间复杂度为O(n2)。而这里采用的分治法求逆序数,其时间复杂度为O(nlogn)。
八数码问题A算法C语言实现 八数码问题,实际就是在一个3X3的九宫格内,其中一个格子为空,其余八个格子分别用1-8的数字填充,这八个数字在九宫格内所占格子的位置可以任意。我们所求就是在两种占位置的情况下,如何从其中一种情况,转移到另一种情况?当然,限制条件是:移动过程中,只能是空格周围的格子向空格移动。(有点儿类似我们小时候玩
查找第K个元素 已知两个等长的升序整数序列{a1,a2,...,ak}和{b1,b2,...,bk},求序列{ai+bj}的前k小元素,其中1≤i≤k且1≤j≤k,要求时间复杂度尽可能低。思路:将(1,1,a1+b1)加入一个小根堆while(堆非空且出堆的元素总数少于k个)弹出堆顶元素(x,y,v)将(x+1,y