erbi_lucifer吧 关注:407贴子:3,325
  • 10回复贴,共1

我找到方向了

只看楼主收藏回复

今天刚参加完acm的新生校赛,感觉还好,我的方向就确定为算法了!


IP属地:贵州来自Android客户端1楼2014-12-28 23:41回复
    如果你们还在迷茫,强烈推荐两篇文章


    IP属地:贵州来自Android客户端2楼2014-12-28 23:41
    回复
      第一篇: 当然,当研究得深入了之后,程序就越写越大了,这个时候就会出现很多各种各样的问题了。譬如说效率太低啦,程序一出错就要全盘推倒重来啦(这个还是比较可悲的),代码太多很难组织函数啊类什么的啦,或者说名字给你用光啦等等。这个时候就需要各种各样的理论知识了,譬如说数据结构与算法,还有设计模式什么的。当然讲来讲去也就这几样,因为“这世界上没有银弹”,所以那些通用的东西必然不多,剩下的还是要靠在同各领域里面其他人的积累或者自己的研究才能最终解决的。
      上面所说的可以做的各种各样的事情还是偏向于理论化一点,其实有一个学术上的领域还是不够的,因为最终一个程序在跟计算机打交道的时候靠的是输入输出,也就是俗称IO的东西了。这究竟是什么呢?也就是说,知道那个地方放着你要的数据,你要把它拿过来。你自己算出了什么,知道要往哪里放,你要会放。这里面包含的东西很多,譬如说典型的,键盘和屏幕上的输入输出,网络要用的Socket啦Web Service啦,那些看得见的窗口啦控件啦,读写硬盘啦,还有其他什么的。这种 在某一平台上的专用的API 都是至少要熟悉一种的。不然你光学会这个算法那个算法有什么用啊,譬如说你想对一个图片进行压缩,专门学了那个知识,但是一个bmp放在硬盘上你却读不进来,那岂不没意义了么。
      于是说了这么多,无非就是刚开始的时候要去见识世面,然后挑一个来慢慢研究,最后研究着研究着程序搞大了,就自然会碰到很多高级的问题了。这个时候去解决了,其实本科需要你具备的水平其实也差不多达到了。
      所以很多人都洗心革面,终于开始努力研究一个领域的问题了。领域总是复杂的,这个时候会遇到很多编程上的问题,譬如说算法太复杂表达不出来啦,文件读着读着就挂啦,一不小心越界了之后造成了很多奇怪的问题啦(C++)等等。这种关于调试的问题,一般只能够靠自己错得多错得离谱了,最后就成才了。当然前人也总结出了经验,写了本叫《 Why Programs Fail 》的书,想看的话可以自己去下载。其次, 具体的库总是有很多书和文档的,没事也要多看点 ,譬如说用Visual Studio的人都得把MSDN给装了。
      话也差不多说完了,虽然我自己也觉得这篇文章比较虚,因为这也是“通用的东西”。具体自己该怎么办自己得好好想想。我就把这篇东西献给现在大一大二那些还在迷


      IP属地:贵州来自Android客户端3楼2014-12-28 23:43
      收起回复
        复制不完整,你们百度一下〈关于计算机专业的人如何学好编程〉和(林锐:一个程序员的大学十年)


        IP属地:贵州来自Android客户端4楼2014-12-28 23:47
        回复
          如果我有什么帮到你的……回复个呗……


          IP属地:贵州来自Android客户端5楼2014-12-28 23:48
          回复
            楼主大几啊…


            来自Android客户端6楼2014-12-29 14:11
            收起回复
              考了些什么?


              IP属地:湖北来自Android客户端7楼2015-01-10 23:15
              收起回复