选择分类
计算机术语
选择分类过程包括两个动作:1.从分类文件中选出一个关键字值最小的记录;2.然后,将选出的记录送入正在增长的结果文件中。
选择分类的思想
选择分类的思想是:首先在n个记录中选择一个具有最小关键字的记录,并将它从n个记录中删除,作为新的一组记录的第一个,再在n一1个记录中,选择一个具有最小关键字的的记录,将它从n一1个记录中删除,作为新的一组记录的第二个。如此继续,便得到一组按从小到大顺序排列的记录。
设待分类的n个数据存放在数组a中。简单选择分类也是对数组a进行多遍扫描,第1遍扫描完成时,n个数据中关键字最小的数据将存入数组元素a[1]中;第2遍扫描,从a[2]到a[n]中选择关键字最小的数据,且将它存入a[2]中;第i遍扫描,将从a[i]到a[n]中选择关键字最小的数据,存入a[i]中;当第n一1遍扫描完成之后,仅剩下唯一的一个元素a[n],它显然是关键字最大的数据。
算法描述
分类
计数选择法
确切地说,它不是一种分类方法,而是能用于各种分类方法的一种技术,执行的结果并不能将初始文件转化成有序文件,而是计算出每个记录的相对位置。以后再按它将记录置入结果文件,而得到一个排序文件。
该方法是为每个记录设一个计数器,构成一个记录相对位置域。每遍扫描时,总是用一关键字与其后面的所有记录关键字依次逐个地比较。每当发现一个关键字值大于另一个时,大值的计数加1,计数器中记载了小于其关键字的记录数目。
扫描过程,一般第一次以第一个记录作为固定记录,第i次以第i个记录作为固定记录。第i遍结束时,计数器i中就记载了比第i个记录小的记录的个数。这一过程进行n-1遍,所有记录相对位置标志都将在计数器中给予记载。
关键字比较中,当两记录关键字相等时,固定记录的计数标志不变,而被比较的记录计数标志加1。按这种原则,相等时,排在前面的记录始终排在前面,从而分类结果是稳定的。
对于整个文件中最小记录显然是无一记录比它小。假设它的计数标志为1,即初始状态时,所有计数标志的值为1。
直接选择法
直接选择法是一种典型且简单的分类方法。其分类思想是:首先在文件中选出关键值最大的记录,把它与最后一个记录交换,然后在其余的记录中再选出关键字值次最大的记录与例数第二个记录交换,重复执行到第二个记录,完成整个文件的分类。
算法中,设一个指针,指向当前一遍扫描中最大关键字值的记录,并不需要在扫描过程中将当前最大的记录取出。直到一遍扫描结束时,再将指针所指记录送到最终位置上去。
堆分类
堆分类算法是一种非线性算法。算法给分类文件一个结构——二叉树,‘其目的是为了提高分类效率,并且相当有效。
堆分类算法首先要使用一棵称为堆的二叉树,这棵树有如下特点:
1、这棵二叉树上任何一个顶点为根的子树中,根结点的关键字值大于其所有子孙的关键字值;
2、这颗二叉树识一颗顺序完全二叉树
堆分类算法处理的待分类文件是按线性结构顺序存放的,而分类的过程是将整个文件视为一树形结构的文件,即分类中是以先处理父结点再处理孩子结点的方式进行的。因此,也可以说,分类算法是非线性的,视分类文件为一棵二叉树来实现分类的。
参考资料
最新修订时间:2024-11-22 13:41
目录
概述
选择分类的思想
参考资料