当大二暑假结束,我发现我还是没有熟练掌握一门编程语言时,我就知道苦日子要来了。

这不,才开学第三周,就已经被虐的体无完肤了。连编译课用C语言写的词法分析,都要写很久、Debug很久才能写出来,更别提大数据和软件工程这两门应用性很强的课了……

听到要遍历文件,还要打开不同后缀的txt文件时我觉得我能试着搞一搞。

听到队友说要用map要用hash要用深度优先遍历,我觉得我肯定搞不出来了……

都怪大一大二编程基础没打好。

不过想一想也不是没努力,而是精力用到别的地方了。

所以也不用叹息什么,抓紧点赶上来就好了。

虽然这次作业写得又久又渣,抱了各种大腿,但好歹是写出来了。

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

我将我的工作拆分成以下几个部分来完成,分别估计完成时间:

1.C++入门,搞懂怎么创建工程,编译,直至helloworld过关。决定用面向过程的方式来写cpp。(预计2小时)

2.弄懂遍历文件的方式,深度优先搜索等相关内容。(预计3小时)

3.txt文件中的word如何读取(预计1小时)

4.word的存储形式(此时已经听说了hash和map,预计2小时)

5.如何将新读入的word与已有的wordlist进行匹配(预计1小时)

6.实现要求中对word的判断(预计3小时)

7.排序如何按number>word两个关键字排序(预计1小时)

8.排序完,如何输出到某一文件(预计1小时)

9.如何高效排序(预计1.5小时)

10.算法分析(预计1小时)

11.博客随笔(预计1小时)

预计时间共15.5小时。

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

噢,这真是一件让人伤心的事……

1.C++入门,搞懂怎么创建工程,编译,直至helloworld过关。决定用面向过程的方式来写cpp。(2小时)

2.弄懂遍历文件的方式,深度优先搜索等相关内容。(3小时)

3.txt文件中的word如何读取(1小时)

4.word的存储形式(此时已经听说了hash和map,4小时)

5.如何将新读入的word与已有的wordlist进行匹配(2小时)

6.实现要求中对word的判断(3小时)

7.排序如何按number>word两个关键字排序(2小时)

8.排序完,如何输出到某一文件(1小时)

9.如何高效排序(1.5小时)

10.算法分析(1小时)

11.博客随笔(1小时)

共计19.5小时。

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)

测试样例基本上涵盖了所有的情况:只有空文件夹,正常的样例(txt,cpp,h,cs),有很多文件夹的样例,很深层文件夹的样例。扩展名正确,但是内容损坏的样例等等

5)      Describe what you had learned in this exercise.

1.清醒认识到了自己编程能力的薄弱,亟待加强

2.入门C++,将会进一步深入学习

3.学会利用互联网查询所需学习资料,cnblog是个好网站

4.遍历文件夹www.cnblogs.com/summerRQ/articles/2375749.html

5.词频统计www.cnblogs.com/Tony-woo/archive/2007/11/13/958452.html

6.map相关blog.csdn.net/allovexuwenqiang/article/details/5686583

7.各种系统函数的调用

【homework #1】第一次作业被虐感受的更多相关文章

  1. 停下来,回头看 ——记2020BUAA软工第一次作业-热身!

    description: 'Mar 1st, 2020 - Mar 3rd, 2020' 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 第一次作 ...

  2. C 语言学习 第一次作业总结

    第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后 ...

  3. 耿丹CS16-2班第一次作业汇总

    第一次作业统计完成. 注:1.作业顺序:取最早交作业的前3名,依次拿5,2,1分,前提是作业质量较高,否则轮至下一名同学得分,其余同学得0分:2.作业情况:满10分,空一题扣2分,心得写得好的有额外加 ...

  4. 软件工程(QLGY2015)第一次作业小结(含成绩)

    相关博文目录: 第一次作业点评 第二次作业点评 第三次作业点评 Github项目提交 github的代码提交,大部分人都只是提交了单个文件,存在几个问题 请提交完整的项目文件到github 问题:为什 ...

  5. 2015级软工实践k班第一次作业-准备

    第一次作业-准备······ 几篇文章阅读下来发现一个事实,还是要有明确的目标,清楚自己需要做什么最为重要.然后根据目标确定需要为之所做的准备工作,考研也好,工作也罢,都是服务于自己的目标. 问题答应 ...

  6. java第一次作业0

    lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...

  7. 集大1513 & 1514班 软件工程第一次作业评分与点评

    谢谢大多数同学按时完成了作业,同学态度都比较端正,没有为了完成作业或者讨好老师而说一些假话空话. 很多同学选择CS之前并没有从兴趣或者擅长出发.这是一个普遍的现象,十年前我们是这样,十年后的孩子们还是 ...

  8. OO第一次作业总结

    OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是Comput ...

  9. # C语言程序设计第一次作业1234

    ---恢复内容开始--- C语言程序设计第一次作业 1.求圆面积和周长 输入圆的半径,计算圆的周长和面积 (1)流程图 (2)测试数据及运行结果 测试数据r=3 运行结果 2.判断闰年 输入一个四位年 ...

随机推荐

  1. 简析平衡树(一)——替罪羊树 Scapegoat Tree

    前言 平衡树在我的心目中,一直都是一个很高深莫测的数据结构.不过,由于最近做的题目的题解中经常出现"平衡树"这三个字,我决定从最简单的替罪羊树开始,好好学习平衡树. 简介 替罪羊树 ...

  2. Linux常用的200个命令总结分类

    ●目录操作命令(6 个) ls tree pwd mkdir rmdir cd   ●文件操作命令(7 个) touch cp mv rm ln find rename   ●文件查看及处理命令(21 ...

  3. modprobe与insmod的区别

    linux设备驱动有两种加载方式insmod和modprobe,下面谈谈它们用法上的区别1.insmod一次只能加载特定的一个设备驱动,且需要驱动的具体地址.写法为:        insmod dr ...

  4. 重载&重写

    重载:同一个类中,方法名相同,方法参数不同(参数个数.参数类型),返回类型无关,所以返回类型不能作为重载的区别依据. 重写:子父类中,子类的方法名.参数位置.参数个数.返回类型和父类一致,方法体不同 ...

  5. 第一篇:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte

    需求:python如何实现普通用户登录服务器后切换到root用户再执行命令 解决参考: 代码: def verification_ssh(host,username,password,port,roo ...

  6. gitLab 服务器搭建 (自己服务器上搭建gitLab)

    环境 lunix(ubuntu) 1:添加文件 在   /etc/apt/sources.list.d/gitlab-ce.list 中添加一行 deb https://mirrors.tuna.ts ...

  7. GNU汇编逻辑或算数左移右移

    lsl 左移 .text .global  _start _start: mov r1,#0b1 mov r1,r1,lsl#2 ROR循环右移 .text .global  _start _star ...

  8. Nginx 配置支持 WAF

    WAF(Web Application Firewall),中文名叫做“Web应用防火墙” WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  9. ZendFramework-2.4 源代码 - 关于MVC - Model层类图

  10. python * args和** kwargs的用法

    所属网站分类: python基础 > 函数 作者:慧雅 链接: http://www.pythonheidong.com/blog/article/18/ 来源:python黑洞网 www.py ...