ACM中为何不选择Java

ACM大多数同学还是在OJ上面刷题,大部分都用的是C语言。可是大家知道ACM为什么不用Java、Python等语言呢?

实际上,OJ是支持这些语言的。在中国大学,几乎每个大学生接触到的第一门编程语言就是C语言了,比如我所在的西安工业大学 计算机系就是这样的。OJ由于服务器的局限性,以及C语言无可比拟的底层性高灵活性使得OJ中以C为主。

随着代码规模的扩大,C不能满足同学们对高效编码的需求使得C++这个面向对象的语言在ACM中广为使用。不论ACM采用什么语言,C++是不可争辩的优秀语言之一。他的方便快捷的开发属性、不失底层语言的特征使得这个外人所称“不伦不类”的语言真的在对时间、空间等要求高的场合应用。ACM是个拼时间、拼效率的赛事。

C++的底层性使得ACM比赛选手可以更大程度的优化代码效率,C++的面向对象特征使得参赛选手更快的完成刷题任务。

不过C++最近今年受到了Java的挑战,Oracle接手Sun的JDK后,发布的JDK7使得其Java代码执行效率大大提高,有媲美C++等直接底层源码的优势。可是,媲美归媲美,性能还是差那么一点点的。

由于Java需要JDK的支持,ACM中许多OJ并没有安装最新版本的JDK,使得OJ中Java的效率总是很低。可是这个情况即将大为改观,作为云计算、物联网的先头兵,Java以其无可比拟的高效开发占据了软件行业的半壁江山。由于搞ACM的大多还要进入社会求职的,所以Java的编码在OJ的刷题工程中有上升趋势。

ACM为何不选择Java?这个是个事实,也就是由于之前JDK的性能影响,JDK在绝大多数ACMer口中被贬低了许多。ACM为何选择Java?是由于Java本身就是一门优秀的语言,由于ACM普及过程中作用非常大的OJ慢慢更新了JDK,所以Java成为了ACM中的潜力股。本来来源于Quicl’sBlog 转载注明出处链接 http://20xue.com/?p=2502

2月1日 The ACMer Return

现在用的这个笔记本已经三年了,键盘已经不那么好用,鼠标没有那么灵敏,触摸板不好用,双核的2.1GHz CPU快连QQ+Chrome都跑不起来了……唯一值得称赞的是,这个笔记本在我的护理下没有那么些人为的损害@^^@

前段时间看了款ThinkPad X220,感觉太贵了,不过后来在51IBM里面得知,香港那边便宜好几千RMB啊!口水~~

了解到一下办理港澳通行证之类的办法后,由于自己把户口迁移到学校了,联系学校的关于户口本的相关人员,至今没有看到回信。

今天得提交quicl.cn的备案了,好激动啊,人生中第一个国内的站点若干个月后将上线啊。

今天看了TankyWoo大侠推荐的ACM极品,宇宙最华丽,全球最性价比高,最具影响力,最好的入门ACM书籍 李文新老师的《程序设计导引及在线实践》,本来他给我发了个返利的链接,我也想算了支持一下吧……可是百度了一下发现新浪里面有免费的pdf哦!什么?你的需要一个积分?不,我的没有用,你多找找就好了。

暑假准备去北京,开始攒钱了……2月1日,现在Java编程中……

数据结构期末复习—Huffman

数据结构历来成为了备战各种考试的重中之重,无论是学校期末还是软考考数据结构终究离不开Huffman。最近期末复习到了二岔树这块,自我感觉还行吧,就当博文发了。Huffman是种带全路径长度最短的树,比较常用。完全二叉树就是这种路径最短的二叉树。树中的一个节点到另外一个节点的分支构成了两个节点间的路径,路径上面的分支数目称之为路径的长度。路径的长度是从树根到每一个节点的路径长度之和。

Continue reading