数据结构实践报告


    


    数结构实践报告



    学 号:
    姓 名:
    班 级: 班
    指导老师:
    时 间: 20161221



    项目名称
    项目构思
    程序三模块组成:
    (1)输入模块:提示语句直接输入总数n报数次数m中间逗号隔开
    (2)处理模块:元素储存序表中函数中根报数间隔确定需删元素位置序表中设置该位置删该位置时输出该位置值反复设置删直表空
    (3)输出模块:分DOS文件中移元素序次显示位置
    约瑟夫环问题中数位置种数存第元素元素存唯前驱继符合线性表特点需模拟约瑟夫环出列问题采序表实现线性表完成出列序输出
    核心算法分两步:
    1确定需删位置2设置删该位置
    已知报数间隔m前位置加m获需删位置果获位置超序表中实际元素总长度通减数组实际长度修正(模拟环状计数)然序表中前指位置设置该位置继删掉该位置
    反复进行述确定位置删位置操作直序表空
    程序功模块
    1输入形式输入值范围:
    次输入值两正整数中间逗号隔开
    分设nm输入格式:nm
    非法输入做处理假设输入合法

    2输出形式:
    输出格式1:字符界面输出n数输出序列
    输出格式2:n数输出序列写入文件中

    3程序达功:
    输入约瑟夫环长度n间隔m输出约瑟夫环出列序

    4测试数:包括正确输入输出结果含错误输入输出结果
    正确:
    输入:103
    输出:3 6 9 2 7 1 8 5 10 4

    输入:413
    输出:3 6 9 12 15 18 21 24 27 30 33 36 39 1 5 10 14 19 23 28 32 37 41 7 13 20 26 34 40 8 17 29 38 11 25 2 22 4 35 16 31

    错误:
    输入:10 3
    输出:6 8 7 1 3 4 2 9 5 10
    二 程序清单
    1 抽象数类型定义:
    实现述程序功整数存储户输入户输入值存储线性表中线性表ADT定义:

    ADT list
    数象:整形
    数关系:线性关系(0≤a<n)
    基操作:
    bool remove(int &elem)移元素移元素赋elem
    果操作成功返回true否返回false

    bool isEmpty()判断数组元素否清空空返回true否返回false

    bool setPos(int place)设置前元素位置设置成功返回true否返回false

    int getLength()获取数组实际长度




    2程序模块间层次(调)关系:
    函数会设计方法调序表中获取实际长度设置需删元素位置移该位置元素判断否空表四种方法方法元素次出列正确结束程序

    整形存储户输入整数
    序表实现线性表:
    class AList
    {
    private
    int *listArray指数组指针
    int realSize数组中含元素实际长度
    int fence指前元素标

    public
    AList(int s)构造函数初始化数组
    {
    listArraynew int[s]
    for(int i0i listArray[i]i+1数组值等数组标+1

    realSizes
    fence0指首元素
    }

    bool remove(int &elem)移元素
    {
    if(isEmpty())return false果数组空返回false

    elem listArray[fence]
    for(int ifencei {
    listArray[i]listArray[i+1]
    }

    realSize
    return true

    }

    bool isEmpty()判断数组元素否清空
    {
    if(realSize0)return true
    else return false
    }

    bool setPos(int place)设置前元素位置
    {
    if(place>0&&place {
    fenceplace
    return true
    }

    return false
    }

    int getLength()获取数组长度
    {
    return realSize
    }

    }

    函数中调述模块方法:
    ofstream fout文件流
    foutopen(C\\Josephustxt)设置文件路径
    int nmelempoint0
    scanf(dd&n&m)获户输入
    AList alist(n)创建序表象

    while(alistisEmpty())果序表空继续删
    {
    mmalistgetLength()调整计数长度
    if(m0)malistgetLength()

    if(point+m1 else{pointpoint+malistgetLength()1}

    alistsetPos(point)设置前需删位置
    alistremove(elem)删元素

    cout< fout<
    四测试结果(截图显示)

    五遇问题解决方法
    1初始化部分循环赋值时间复杂度Θ(n)
    2处理部分提高效率没采循环寻找方法直接利数学关系通前位置获位置长度n约瑟夫环做n次定位次定位复杂度Θ(1)时间复杂度Θ(n)
    序表实现时次移方法时间复杂度Θ(k)(k实际长度关)处理部分总结果()化简时间复杂度然Θ(n2)

    综该算法时间代价Θ(n2)

    (PS:果循环查找n次定位中次m次循环少Θ(n*m)然序表移方法总复杂度应该Θ(m*n2))

    事实线性表完成道题复杂度Θ(n2)毕竟n数进行时间复杂度Θ(n)删工作欲达Θ(n)效率非线性表实现


    六体会

    输入数n报数间隔m创建序表象



    确定需删位置
    程序

    isEmpty () 序表空
    Remove()调删方法


    输入输出格式:
    输入:103
    输出:3 6 9 2 7 1 8 5 10 4
    (文中输出):3 6 9 2 7 1 8 5 10 4

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    数据结构实习报告

    数据结构实习报告  一、需求分析1、  程序所实现的功能;2、  程序的输入,包含输入的数据格式和说明;3、  程序的输出,程序输出的形式;4、  测试数据,如果程序输入的数据量比较大,需要给...

    8年前   
    1046    0

    数据结构实验报告

    实验报告课程:数据结构 班级:网络工程 学号: 姓名: 实验1 链表的插入和删除一、实验目的 1、...

    2年前   
    332    0

    数据结构实验报告《三、串及其应用》

    数据结构实验报告- - - - 串及其应用之文学研究助手 专业班级: 电信班 ...

    3年前   
    1303    0

    数据结构练习题及答案

    数据结构练习题及答案第1章 绪论一、 判断题1. 数据的逻辑结构与数据元素本身的内容和形式无关。 (√)2. 一个数据结构是由一个逻辑...

    3年前   
    1078    0

    数据结构试题及答案多套

    数据结构试卷(一) 1数据结构试卷(二) 4数据结构试卷(三) 6数据结构试卷(四) 8数据结构试卷(五) 11数据结构试卷(六) 14数据结构试卷(七) 16数据结构试卷(八) 18数据结构...

    3年前   
    892    0

    数据结构试验迷宫问题

    数据结构试验——迷宫问题(一)基本问题1.问题描述这是心理学中的一个经典问题。心理学家把一只老鼠从一个无顶盖的大盒子的入口处放入,让老鼠自行找到出口出来。迷宫中设置很多障碍阻止老鼠前行,迷宫唯...

    3年前   
    524    0

    数据结构课程设计报告最小生成树Kruskal算法

    计算机科学与技术系课程设计报告 2014-2015学年第二学期课程数据结构课程设计名称Kruskal算法求最小生成树学生姓名 学号 专业班级 软件工程指导教师 2014年X月题目:设计...

    1年前   
    205    0

    哈夫曼树应用数据结构课程设计报告

    数据结构课程设计报告设计题目:哈夫曼树应用 专 业 : 软件工程 班 级 : 软件 学 生 : ...

    2年前   
    468    0

    数据结构课程设计报告——图书管理系统

    课程设计报告 课设课题: 课程设计——图书管理系统 学 院: 电 子 信 息 学 院 专 业: 网 络 工 程 ...

    3年前   
    681    0

    数据结构实训报告舞伴配对实训

    数据结构实训报告(一) 应用程序名称及要求··································3 (二) 应用程序主体、设计目的························...

    3年前   
    1061    0

    车牌号管理系统数据结构课程设计报告

    XX 学 院 计算机工程学院课程设计报告设计名称: 数据结构课程设计 选题名称: 车牌号管理系统 ...

    3年前   
    429    0

    数据结构课程设计报告n维矩阵乘法

    设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。

    4年前   
    709    0

    数据结构大作业(含源代码)

    数据结构大作业作业题目: 职工信息管理系统 姓 名: 学 号: ...

    3年前   
    453    0

    数据结构练习题(含答案)

    数据结构练习题习题1 绪论1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信息在计算机中的② 以及一组相关的运算等的课程。 ...

    3年前   
    1513    0

    数据结构习题集附答案

    数据结构习题集附答案第一章 绪 论一、选择题1.组成数据的基本单位是( )A.数据项 B.数据类型 C.数据元素 D.数据变量2.数据结构是研究数据的( )以及它们之间的相互关系。A.理...

    3年前   
    858    0

    十套数据结构试题及答案

    数据结构试卷(一) 1数据结构试卷(二) 4数据结构试卷(三) 6数据结构试卷(四) 8数据结构试卷(五) 11数据结构试卷(六) 14数据结构试卷(七) 16数据结构试卷(八) 18数据结构...

    3年前   
    651    0

    数据结构综合性实验

     数据结构实验实验六数据结构综合性实验  计算机科学与技术系X班 组 长:X ...

    1年前   
    271    0

    链表排序北邮数据结构实验

    数 据 结 构实验报告实验名称:________链表排序___________学生姓名:_____________________班 级:________________班内序号:___...

    1年前   
    259    0

    《数据结构(C语言版)》教案

    2011 至2012 学年第 一 学期教  案课程名称 数据结构 使用教材《数据结构(C语言版)》教学时数 56    课程性质 必修    任课班级(人数)信管(53人)   信息 系(部)...

    3年前   
    650    0

    数据结构简答题打印版

     数据结构简答题1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。解:数据是对客观事物的符号表示...

    3年前   
    473    0

    文档贡献者

    文***享

    贡献于2022-10-26

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档