主题:数据结构 10.17 计数基数排序
http://www.educity.cn 作者:pc 来源:希赛教育
基数排序也可以在顺序存储结构中实现,此时的分配即为统计该位关键字值分别为0,1,2,…,9的记录数,收集即为根据统计的结果将记录复制到合适位置。
在算法中利用数组count[]统计并累加关键字取值从0至k的记录总数(k=0,1,9),则count[k]即为记录序列中最后一个关键字取值为k的记录在每一趟的分配和收集之后在序列中的正确位置。例如,右侧示例中第一趟对个位数进行排序,在对个位数进行统计和累加之后,count[]={1,1,1,4,4,6,6,6,7,9},则最后一个个位数等于3(即关键字等于83)的记录应放在B[count[3]]中,同时为了确定前一个个位数等于3的记录应放的位置,则在将83复制到B[4]之后,应将count[3]的值减1。
基数排序也可以在顺序存储结构中实现,此时的分配即为统计该位关键字值分别为0,1,2,…,9的记录数,收集即为根据统计的结果将记录复制到合适位置。
在算法中利用数组count[]统计并累加关键字取值从0至k的记录总数(k=0,1,9),则count[k]即为记录序列中最后一个关键字取值为k的记录在每一趟的分配和收集之后在序列中的正确位置。例如,右侧示例中第一趟对个位数进行排序,在对个位数进行统计和累加之后,count[]={1,1,1,4,4,6,6,6,7,9},则最后一个个位数等于3(即关键字等于83)的记录应放在B[count[3]]中,同时为了确定前一个个位数等于3的记录应放的位置,则在将83复制到B[4]之后,应将count[3]的值减1。