博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第六次作业--结对编程第二次
阅读量:6555 次
发布时间:2019-06-24

本文共 2706 字,大约阅读时间需要 9 分钟。

本次作业deadline: 2017-10-10 21:00

根据上一次结对作业的背景,实现一个分配算法,根据输入信息,输出:

  • 部门和学生间的匹配信息(一个学生可以确认多个他所申请的部门,一个部门可以分配少于等于其要求的学生数的学生)
  • 未被分配到学生的部门
  • 未被部门选中的学生

说明:仅就上述内容,实现一个单独的程序模块。不需要和之前的原型整合在一起。

要求:

  • 1、输入的数据,另外写生成程序随机实现。
  • 2、为输入输出设计接口,为该匹配程序模块后期可能的整合入系统提供便利。
  • 3、输入输出采用 json 文本文件方式,可自由讨论确定细节内容,但需要明确并体现在博客中。
  • 4、需要为匹配算法确立几条分配或排序原则,比如 绩点优先、或兴趣优先、或活动时间优先、或其他等等,请你们结对讨论确定。
  • 5、对不同策略做出评价,并在博客中展示测试结果。提醒:对于同一组输入,输出的未被导师选中的学生数越少越好。
  • 6、博客中列出代码你们的代码规范要求。
  • 7、实现的程序语言以C/C++优先,部分同学如果对Java/C#掌握更加熟练也可接受。
  • 8、代码提交在GitHub上,并在博客中提供项目链接(注意不是Github个人主页)。
  • 9、两人博客中涉及到设计及代码展示可以相同,但是要求使用自己语言加以描述。

博客要求(模板/评分)

  • 结对情况【1分】
    • 自己
      • 学号后3位
      • 名(为保护隐私省去姓)
    • 队友
      • 学号后3位
      • 名(为保护隐私省去姓)
      • 队友博客链接(本次作业链接,不是主页,既然是一个队伍,保持同时发布并获取对方链接)
  • GitHub 项目链接(不是主页)【1分】
  • 设计说明
    • 接口设计(API)【5分】
    • 内部实现设计(类图)【5分】
    • 匹配算法设计(思想/流程等)【5分】
    • 测试数据如何生成?【5分】
    • 如何评价自己的匹配算法?【10分】
  • 关键代码解释
    • 贴出你认为重要的/有价值的代码片段,并解释【5分】
  • 运行及测试结果展示
    • 测试200位同学,20个部门的情况【5分】
    • 测试500位同学,30个部门的情况【8分】
    • 测试1000位同学,50个部门的情况【10分】
    • 测试5000位同学,100个部门的情况【15分】
    • 以上每组测试分别提供:
      • 测试结果概况描述
      • 测试输入数据片段展示及完整数据链接
      • 测试输出数据片段展示及完整数据链接
      • 完整测试数据建议提交到Github项目tests目录内,再提供链接到博客
      • 测试数据文件命名:
        • 输入: sxxx-dxxx-in.json
        • 输出: sxxx-dxxx-out.json
        • sxxx 中的 xxx 替换同学数目
        • dxxx 中的 xxx 替换部门数目
    • 效能分析报告【5分】
  • 遇到的困难及解决方法【5分】
    • 困难描述
    • 做过哪些尝试
    • 是否解决
    • 有何收获
  • 对队友的评价【5分】
    • 有哪些好的地方值得学习
    • 有哪些不好或者需要改进的地方
  • PSP表格【5分】
  • 学习进度条【5分】

关于PSP/学习进度条等模板请参考:


参考输入输出信息

输入信息:

  • 部门
    • 部门编号
    • 部门需要学生数的要求的上限,单个,数值,在[0,15]内;
    • 部门的特点标签,多个,字符;
    • 部门的常规活动时间段,多个;
    • 更多...
  • 学生
    • 绩点信息,单个,数值;
    • 兴趣标签,多个,字符;
    • 每个学生有不多于5个的部门意愿(部门意愿不能空缺);
    • 更多...

参考输入示例

{    "departments" :     [        {            "department_no" : "FZU_BL01",            "department_name" : "balabala",            "member_limit" : 10,            "tags": ["singing", "dancing", "guitar", ...],            "event_schedules" : ["from1-end1", "from2-end2", "from3-end3", ...],            ...        },        {            "department_no" : "FZU_WL01",            "department_name" : "wulalala",            "member_limit" : 15,            "tags": ["xxx", "yyy", "bbb", ...],            "event_schedules" : ["from1-end1", "from2-end2", "from3-end3", ...],            ...        },        ...    ],    "students" :    [        {            "student_no" : "FUZSTU_00134011",            "student_name" : "ZHANGSHAN",            "tags" : ["dangcing", "painting", "running", ...],            "available_schedules" : ["from1-end1", "from2-end2", "from3-end3", ...],            ...        },        {            "student_no" : "FUZSTU_00134010",            "student_name" : "LISI",            "tags" : ["reading", "abc", "ddd", ...],            ...        },        ...    ]}

参考输出示例

{    "matched_department_view" :    {        ...    },    "matched_student_view" :    {        ...    },    "standalone_departments" :    [        ...    ],    "standalone_students" :    [        ...    ]}

转载于:https://www.cnblogs.com/vertextao/p/7616222.html

你可能感兴趣的文章
027移除元素
查看>>
Linux下清理内存和Cache方法
查看>>
CodeVS 1018 单词接龙(DFS)
查看>>
Android批量图片加载经典系列——Volley框架实现多布局的新闻列表
查看>>
我的博客园的CSS和html设置
查看>>
20145222《信息安全系统设计基础》第二周学习总结
查看>>
如何制作手绘地图?如何将图片图层精确地对准在地图上?
查看>>
C#winfrom中splitContainer的用法
查看>>
数据冗余度
查看>>
[Array] 561. Array Partition I
查看>>
2017最新xcode打包APP详细图文
查看>>
力扣算法题—050计算pow(x, n)
查看>>
背包问题 动态规划
查看>>
修改SQL-SERVER数据库表结构的SQL命令
查看>>
tableView 有点击效果 但是不让选中的方法
查看>>
onclick事件与onserverclick事件
查看>>
C#winform中DataGridView常用的属性
查看>>
iOS绘制线条的使用
查看>>
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
MPLAB X IDE 中文注释乱码问题解决.
查看>>