zoukankan      html  css  js  c++  java
  • 2018(秋)软工作业 4:结对项目之词频统计——基本功能

    0. 阶段1 - 结对项目:词频统计——基本功能

    1. 目标

    • 使用开发工具 (Eclipse 或者 Visual Studio)
    • 开发语言 (C、C++、C# 或者Java )
    • 使用源代码管理工具(Git)

    2. 要求

    1. 实现一个控制台程序,给定一段英文字符串文件,统计其中各个英文单词的出现频率。

      输入文件名以命令行参数传入。例如我们在命令行窗口(cmd)中输入:

         wordCount.exe input.txt
       //Java语言
        java wordCount input.txt
    

    则会统计input.txt中的以下几个指标:
    (1) 统计文件的有效行数.

    • 任何包含非空白字符的行,都需要统计。

    (2) 统计文件的单词总数.
    定义:(单词)是至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。

    • 英文字母:A-Za-z
    • 字母数字符号:A-Za-z0-9
    • 分割符:空格,非字母数字符号
      • 例:file123是一个单词,123file不是一个单词。fileFileFILE是同一个单词

    (3) 统计文件中各单词的出现次数,最终只输出频率最高的10个。频率相同的单词,优先输出字典序靠前的单词。
    例如,windows95,windows98和windows2000同时出现时,则先输出windows2000
    - 输出的单词统一为小写格式
    - 输出的格式为:

       characters: number
       words: number
       lines: number
       <word1>: number
       <word2>: number
       ...
    

    特别提醒,为便于单元测试:

    • 上述输出中冒号是英文的":", 其后不能有空格
    • 输出的文件名 result.txt
    • 单词全部小写;

    (4) 将第三步结果,输出到文件result.txt

    1. 性能分析:

    3. 提交(博客)

    提交内容包括:

    (1) 提交 V1.0 可以编译运行的源码到码云(gitee)(5分)

    • Fork PairProgram项目 https://gitee.com/ntucs/PairProg.git
    • 新建分支 SEXXX( XXX 为学号后三位),在新分支下新建源代码,编译通过,提交(commit),push 到远端仓库【PairProgram项目】。
    • 程序代码应该能正确编译。
    • 确保单元测试代码通过。(5分,10个测试用例,通过率S。)

    (2) 提交博客 (博客标题:作业 4:词频统计——基本功能)(5分)

    • 项目 Git地址,程序运行模块(方法、函数)介绍(1分)
    • 程序算法的时间、空间复杂度分析(1分)
    • 程序运行案例截图(1分)
    • 描述你花了多少时间在提高程序性能上,利用VS的性能分析工具,展示你的性能图表(1分)
    • 结对编程照片(1分)
  • 相关阅读:
    单链表相关笔试题:单链表逆转,约瑟夫环等
    cURL安装和使用笔记
    WSDL中文版——详解
    [c++语法]类
    spark源码解析之基本概念
    apache-spark导入eclipse环境
    zookeeper应用实例
    spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
    Let's do our own full blown HTTP server with Netty--转载
    1号店11.11:从应用架构落地点谈高可用高并发高性能--转载
  • 原文地址:https://www.cnblogs.com/juking/p/9562844.html
Copyright © 2011-2022 走看看