Individual P1: Summary

经过5个小时成功把simple mode写差不多了。。orz 也是蛮拼的。

开始毫无头绪,本能地开始从度娘搜索‘c# 单词统计’= =看了两段代码也算是见过c#的人了。差不多花了我1小时的时间。

然后我觉得simple mode 大概分为下面几个步骤:

  1. 读文件:根据目录遍历其所有text files,并整合成一个大的result 集合。
    我老觉得一开始就用文件的读写不好调bug,没有命令行方便,于是这部分决定最后再憋。一个递归应该憋不了多久吧。。。
  2. 统计单词:
    •   作业对‘单词’进行了重新地定义,因此需要按照新的定义分割result集合。开始想的是用java曾经用到的string.split()函数,把所有的delimiter传进去的方法(毕竟是吴际虐过的学生:))。但马上改成了用正则表达式进行单词匹配,因为我发现delimiter很难枚举出来。好吧其实是发现周围人都在用正则表达式→_→。所谓墙头草。。。
      完成正则表达式还有相应的匹配用了大概2个小时。
  3. 词频统计:
    • 作业上要求越快越好。然后我就开始纠结用什么数据结构。本来准备用散列表,但立马改成了Dictionary结构。是的因为发现周围人都在用这个结构。。这样做是有道理的因为Dictionary内部就是用Hashtable构建的,相当于它的升级版。同时考虑到需要处理大小写不敏感的问题——字母相同大小写不同输出的时候要根据字典序选择最靠前的大小写形式。考虑后决定将‘sta_name’作为Tkey,其值一律小写。并创建一个两个元素的集合CountAndName作为TValue(count,printname)。这样既可以记录词频又可以记录当前最靠前的大小写形式。
      处理这部分真是醉了,特别感谢MSDN,上面有很多函数的说明对我的帮助很大,再也不用担心不会用函数。用了3个小时写完最主要的部分。
  4. 输出至文件:这个5分钟吧。。。忽略不计

于是我现在快要爆 炸 了:)我要睡觉,对不起了老师我要翘明天第一节课了你不要怪我

2014.9.23 1:39

-------------------------------------------------------------------------------------------------------------

时间: 2024-10-28 21:54:26

Individual P1: Summary的相关文章

Individual P1: Preparation

Individual Project - Word frequency program tally the frequency of words under a directory (2 modes). 大概需要注意的有: delimeter: 空格,非字母数字 大小写不敏感,相同字母组成单词按ASCII码排序第一个为准输出 词频输出按频率降序,相同频率按字典序输出 Enable Code Quality Analysis for your code and get rid of all war

PCB ODB++(Gerber)图形绘制实现方法

这里讲解一下用net解析PCB图形绘制实现方法 一.解析PCB图形绘制实现 解析PCB图形,说简单也非常简单,先说一下,PCB Gerber图形由:点,线,弧,铜皮,文字 5类元素组成,通常简写为:P,L,A,S,T五类,这几类元素的难易程度,刚好是按这个顺序排列的(个人实际应用这么认为的).即然是5类就得建立5种元素的数据结构存储它吧, PAD结构 /// <summary> /// PAD 数据类型 /// </summary> public struct gP { publi

PCB genesis短槽加引导孔实现方法

一.何为短槽 短槽通常定义:槽长小于2倍槽宽      如:槽长1.8mm,槽宽1.0mm 二.为什么要加短槽加引孔呢 短槽孔在钻孔时孔易偏斜导致槽长偏短, 当槽长宽比越小,则受力越不均匀,在钻第2个孔时,钻头两边受力不均匀再加上是顺时针旋转,会导至第2个孔往逆时针方向偏转且变短(如下图) 短槽偏位问题如何解决呢,在我们PCB行业最佳作法是在钻槽孔之前,先在槽孔两端2个小孔(如下图). 在PCB行业已有很多短槽加工方法 具体方法请链接:PCB钻孔--超短坑槽的加工方法 机械钻孔中的短槽孔加工技术

PCB genesis连孔加除毛刺孔实现方法

一.为什么 连孔加除毛刺孔 原因是 PCB板材中含有玻璃纤维, 毛刺产生位置在于2个孔相交位置,由于此处钻刀受力不均导致纤维切削不断形成毛刺 ,为了解决这个问题:在钻完2个连孔后,在相交处再钻一个孔,并钻进去一点(常规进去1-2mil),这样就可以将纤维毛刺去除 PCB同行业毛刺问题处理办法 钻孔孔内毛刺问题分析改善报告 二.连孔加除毛刺孔实现原理 求解思路:1.已知小圆半径:1.5mm,大圆半径 2mm,2个点距离3mm 利用海伦公式(三边求高)求出除尘孔径半径:0.8887mm2.除尘孔半径

PCB genesis连孔加除毛刺孔(槽孔与槽孔)实现方法(三)

一.为什么 连孔加除毛刺孔 原因是 PCB板材中含有玻璃纤维, 毛刺产生位置在于2个孔相交位置,由于此处钻刀受力不均导致纤维切削不断形成毛刺 ,为了解决这个问题:在钻完2个连孔后,在相交处再钻一个孔,并钻进去一点(常规进去1-2mil),这样就可以将纤维毛刺去除 (没找到SLOT槽与SLOT槽的实物图.就用SLOT槽与圆孔吧,产生毛刺效果也是一样的) PCB同行业毛刺问题处理办法 钻孔孔内毛刺问题分析改善报告 二.如何判断除毛刺孔加多少个? 在PCB行业工程加除毛刺孔加多少个也没有太明确的定义,

PCB genesis方槽加内角槽孔实现方法

一.为什么方槽孔加内角孔 如下图,客户来的方槽或Slot槽有内角尺寸要求,通常直接钻一个Slot槽孔内角是不能满足客户要求的,这时我们做CAM的需采用小钻刀进行处理.加内角孔或内角槽的方式进行处理了. 二.为什么不建议直接在4个角加内角孔 Slot槽4个角采用加内角孔的方式处理,这样会导致如下图效果,凸起. 三.方槽加内角槽孔方式(里面加4条槽) 1.常规槽宽则计算方式: 内角槽孔宽度:(W-0.1mm)/2 如:2.0X5.0mm槽宽,内角要求最大r0.5mm  那么内角槽宽为(2-0.1)/

PCB genesis加尾孔实现方法

一.为什么增加尾孔呢 看一看下图在panel中增加尾孔的效果;如下图所示,主要有2点原因. 1.孔径大小测量 假设如果不增加尾孔,要检测孔径大小是否符合要求,那么QA检测会选择最后钻的孔进大小进行测量, 但钻孔路径优化后,是不知道哪个孔是最后一个孔钻孔,为了让钻孔QA清楚的知道哪个孔是尾孔,CAM制作时会将每把刀最一个孔放到统一的一个区域内排列. 2.防止漏钻刀 如果最后一把刀尾孔漏钻了,那么QA一眼就看出来漏钻刀了 说一下钻孔工序QA检测孔径要求是:用针规全部测量其尾孔,并随机测量一些板内的孔

42028: Assignment 2 – Autumn

42028: Assignment 2 – Autumn 2019 Page 1 of 4Faculty of Engineering and Information TechnologySchool of Software42028: Deep Learning and Convolutional Neural NetworksAutumn 2019ASSIGNMENT-2 SPECIFICATIONDue date Friday 11:59pm, 31 May 2019Demonstrati

[Blackberry]How To Setup a BlackBerry 10 Development Environment to Build Cascades Apps and Prevent IP DHCP for individual BB10 simulator setup

This is a step-by-step instructional guide on how to setup a BlackBerry 10 (BB10) development environment. This article includes instructions for downloading all the Cascades tools, installing them, and setting them up. You will learn how to get the