基于姓名排序算法动态演示系统的设计与实现说明书(4)

2019-03-15 20:20

陕西理工学院毕业设计

temp[pos][order[pos]] = data[i]; order[pos]++; } ++power; for (int i = 0; i < 26; i++) { if (order[i] > 1 && power < getStringMaxLength(temp[i])) { path.setHigh(1); msd(temp[i], power);// msd in every sibling bucks } } for (int i = 0; i < 26; i++) { for (int j = 0; j < data.length; j++) { if (temp[i][j] != null) { data[k++] = temp[i][j];// regain the sorted numbers } } } }

(3) 时间复杂度分析

对于n个记录(假设每个记录含d个关键字,每个关键字的取值范围为rd个值),时间复杂度为O(d(n+rd)),其中每一趟分配的时间复杂度为O(n),辅助存储O(rd);

第 13 页 共 80 页

陕西理工学院毕业设计

3系统设计

3.1系统模块结构

根据需求分析,按功能划分8个模块,分别是:链表插入排序模块、直接插入排序模块、折半插入排序模块、选择排序模块、归并排序模块、堆排序模块、基数排序模块。排序算法动态演示系统功能模块结构图如图3.1所示。

排序算法动态演示系统

链 直 折 交 选 归 堆

表 接 半 换 择 并 排

插 插 插 排 排 排 序

入 入 入 序 序 序

排 排 排 序 序 序

图3.1 系统模块结构图

3.2 模块算法流程图

(1) 直接插入排序

直接插入排序算法流程图如图3.2所示。

开始i = 2i

图3.2 直接插入排序算法流程图

第 14 页 共 80 页

基 数 排 序 陕西理工学院毕业设计

(2) 折半插入排序

折半插入排序算法流程图如图3.3所示。

开始初始化Ni

(3) 选择排序

选择排序算法流程图如图3.4所示。

第 15 页 共 80 页

陕西理工学院毕业设计

开始初始化i

(4) 快速排序

快速排序算法流程图如图3.5所示。

第 16 页 共 80 页

陕西理工学院毕业设计

开始初始化low < highYl[0] = l[low];pivotkey = l[low];Nlow < highYlow

(5) 归并排序

归并排序算法流程图如图3.6所示。

第 17 页 共 80 页


基于姓名排序算法动态演示系统的设计与实现说明书(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:智能传感器在数字化时代下应运而生

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: