程式中找到自己

程式中找到自己

       自己学习编程已经有数个月的时间了,感觉很有趣。自己是数学专业,平时做题做累了,就写程序放松放松,将自己的想法实现出来,那样的感觉真的很棒!

       第一次接触的语言是C++,感觉很有意思,后来因为Robocode接触了Java,开始了我的Java之路(什么时候ITeye也举办一次Robocode比赛呗,大家一起玩),废了一周时间搞这个坦克大战,虽然会让功课落下一点,但是我的Robot很厉害,虽然我没有Java基础,因为C++还是有帮助的,而且我却由此真正找到了自己的兴趣所在,喜欢编程!

        Java语言是纯面向对象的,而且当我们第一次学习编程语言时,肯定会接触到两个名词“面向对象”、“面向过程”。但是真的能真正理解这两个词的含义,我想只有编写了一定的程序以及一定的思考以后,才会理解那两个词的含义。我也是在一步步做Java程序的过程中才慢慢理解面向对象的含义,以及封装、继承等Java语言特性。

       总结自己做过的项目:

1.分形的绘制

       分形虽然听起来感觉很高端,但是它却真的存在我们的生活中的任何地方,不信的话现在你就可以摘下一片树叶,看看它的纹理结构,你会发现主结构怎么和分支的结构那么像呢?!这就是分形的一个特征,自相似性!因此我们就可以想到,递归的概念吧。因此很多分形图形都是使用递归绘制的,比如这个毕达哥拉斯树:

 
程式中找到自己_第1张图片
 
程式中找到自己_第2张图片
         像上面这两个图形都是使用递归绘制出来的,我们很容易就可以看出绘制这个的规律是什么,这就是分形的一种思想,“自相似”。其实分形还有很多生成的方法,我们都可以使用计算机语言将它们绘制出来,这是对我们逻辑思维的训练,以及一些基本的常用的迭代或是递归方法的掌握的熟练性的提高。后面自己还做了,L-System生成分形的方法,这个方法的思想很简单,就是通过简单的规则就可以产生美妙的图形。比如说,我们先画一条10个像素的线,然后转过一个指定角度,接上一条线再绘制一条10像素的直线,那么这样一直下去,你能想到会出现什么样的图形吗?!自己用语言实现就知道了。而这也正是L-System生成分形的思想,我们在使用计算机语言实现时,可以使用字符串,让每一个字符都代表一种动作,比如上面的绘制直线或是转角度,我们就可以使用迭代生成一个很长很长的字符串,然后遍历字符串,用于哪一个就执行相应的动作,那么这样就可以实现。下面是我自己实现的一种图形:

 
程式中找到自己_第3张图片
 
程式中找到自己_第4张图片
            上面这些都是L-System的实现的图形,其实我们可以通过简单的规则产生更多的有趣图形。

            2.数据结构

            在我的学习过程中,数据结构是自己比较喜欢的部分,因为感觉实现那些数据结构以及算法的时候很有意思,而且自己现在也正在整理排序算法以及后面还会实现查找算法等基础算法,并且将很大一部分算法实现为可视化,可以使得更加直观,前面的博客中已经实现了一部分可视化的排序,后面考完试还会继续接着做这样的工作,因为自己觉得自己比较喜欢,所以自己会将这些东西都研究透彻。而且自己也觉得数据结构的关键在于实现,实行了也就理解了,不能停留在理论的基础上。

           一个很简单的小总结自己这些天走过的路,感觉自己还是有进步的!但是还得继续努力!加油!

你可能感兴趣的:(数据结构,分形,自己的总结)