文档详情

数据结构课程设计(内部排序之堆排序)[精品].doc

发布:2018-04-21约1.06万字共25页下载文档
文本预览下载声明
数据结构课程设计 设计说明书 内部排序之堆排序的实现 学生姓名 罗通 学 号 1118014124 班 级 计本1104班 成 绩 指导教师 林勇 数学与计算机科学学院 2013年9月9日 课程设计任务书 2013—2014学年第一学期 数据结构课程设计 内部堆排序算法的实现 完?成?期?限: 自?2013年?9月9日至?2013年?9月?21?日共?2?周 1.任务说明 堆排序是数据结构中内排序部分的重点知识。堆分为大顶堆和小顶堆。堆排序的过程主要解决两个问题:(1)把无序序列建成一个堆;(2)输出堆顶元素后,重新将剩余元素调整成新堆。本课程设计主要完成的核心内容即为此。按以下的要求运用C/ C++结构体、指针、数据结构等基知识编程实现。2.要求 1)问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么? 2)逻辑设计:写出抽象数据类型的定义,各个主要模块的算法,并画出模块之间的调用关系图; 3)详细设计:定义相应的存储结构并写出各函数的伪码算法。 4)程序编码:把详细设计的结果进一步求精为程序设计语言程序。 5)程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。 6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析; 7)编写课程设计报告; 3.参考资料 指导教师:林勇 教研室负责人:曹阳 课程设计评阅 评语: 指导教师签名: 年 月 日 摘 要 为了查找方便,通常希望通过排序使表成为按键字有序的。本课题利用简单排序的堆排序方法,通过建立大根堆,并对元素进行输出,实现用户输入的一组可以组成堆的数据元素进行处理,使其按关键字排成一个有序的序列,从而有效的提高了查找效率。再加上界面友好、操作简单,使其更加好用。 关键词:堆 排序 查找 流程控制 目 录 1.课题描述----------------------------------------------------- 2.需求分析----------------------------------------------------- 2.0算法分析----------------------------------------------- 2.1 抽象数据类型定义--------------------------------------- 2.2程序设计流程图----------------------------------------- 3. 各函数功能实现及调用关系------------------------------------ 3.1各函数功能实现------------------------------------------ 3.2 各函数之间的调用关系----------------------------------- 4. 主代码------------------------------------------------------ 5.程序运行测试与结果分析--------------------------------------- 5.1函数功能检验与各步运行结果的说明(图)----------------- 5.2出错状况的解决(图)----------------------------------- 5.3 时间复杂度与空间复杂度-------------------------------- 6.
显示全部
相似文档