zoukankan      html  css  js  c++  java
  • 个人项目 2014

    作业提交截止时间:2014.09.25之前。

     

    Individual Project - Word frequency program

    Implement a console application to tally the frequency of words under a directory (2 modes).

    For all text files (file extensions: "txt", "cpp", "h", “cs”) under a directory (recursively), calculate the frequency of each word, and output the result into a text file.  Write the code in C++ or C#, using .Net Framework, the running environment is 32-bit Win7 or Win 8.

    Run performance analysis tool on your code, find performance bottlenecks and improve.

    Enable Code Quality Analysis for your code and get rid of all warnings.

    Code Quality Analysis:  http://msdn.microsoft.com/en-us/library/dd264897.aspx 

    Write 10 simple test cases to make sure your program can handle these cases correctly (e.g.  a good test case could be: one of the sub-directories is empty).

    Submission:

    Submit your source code and exe to TA, TA will run it on his testing environment and check for

           - correctness   (incorrect program will get 0 points)

           - performance

           - write a blog (see blog requirement below)

    Definition:

    A word: a string with at least 3 English alphabet letters, then followed by optional alphanumerical characters.  Words are separated by delimiters. If a string contains non-alphanumerical characters, it’s not a word. Word is case insensitive, i.e. “file”, “FILE” and “File” are considered the same word.

    “file123” is a word, and “123file” is NOT a word.

      - Alphabetic letters:  A-Z, a-z.

      - Alphanumerical characters: A-Z, a-z, 0-9.

      - Delimiter: space, non-alphanumerical letters.

      - Output text file: filename is <your email name>.txt

      - Each line has this format

          <word>: number

    Where <word> is the string, it has to be the exact upper/lower case as shown in the text file.  E.g. if only “File” and “file” appear in the test cases,  the program should not show “FILE”. <word> should be the first word in dictionary order (based on ASCII). For exmaple, if only “File” and “file” appear in the text file, the program should output “File: 2”.

    Where “number” is the number of times this word appears in the scan.  The output should be sorted with most frequently word first.  If 2 words have the same frequency, list the words by dictionary order.

    Requirements:

    1)      Simple mode.   Output simple word frequency.

    Myapp.exe <directory-name>

    Will output <your-name>.txt file in current directory, the text file contains word ranking list.

    2)      Extended mode. 

    在执行 Myapp.exe -e2 <directory-name>时,找出最频繁出现的连续两个词(列出前10名)。例如,在一本英文小说中,“good morning” 出现次数最多。

    在执行 Myapp.exe -e3 <directory-name>时,找出最频繁出现的连续三个词(列出前10名)。例如“how are you"。

    这里连续的词是指由单个空格分隔的词。

    The app will output <your-name>.txt file in current directory, the text file contains word ranking list.

    Blog Requirement:

    You can publish this to BOTH your own blog, and your team blog (to help your team blog get some traffic)

    1)      Before you implement this project, Record your estimate about the time you WILL spend in each component of your program.

    2)      After you had implemented this project, record the ACTUAL time you spent in each component of your program.

    3)      Describe how much time you spent on improving the performance of your program, and show a performance analysis graph (generated by VS2012 perf analysis tool), if possible, please show the most costly function in your program.

    4)      Share your 10 test cases, and how did you make sure your program can produce the correct result. (programs with incorrect result will get 0 points,  regardless of speed)

    5)      Describe what you had learned in this exercise.

  • 相关阅读:
    csharp上传文件到服务器指定文件夹问题
    c#上传文件到服务器指定文件夹问题
    jsp上传文件到服务器指定文件夹问题
    java上传文件到服务器指定文件夹问题
    asp.net上传文件到服务器指定文件夹问题
    .net批量下载图片
    连续肝了好几天,终于把Java面试必备最重要的基础知识【Java集合】知识点总结整理出来了。
    来晚了,秋招五投大厂,成功拿下三家Offer,最终入职美团,分享我的美团1-4面(Java岗)
    变秃了,也变强了!爆肝吐血整理出的超硬核JVM笔记分享!
    Spring框架及七大模块
  • 原文地址:https://www.cnblogs.com/jiel/p/3978727.html
Copyright © 2011-2022 走看看