Datahub
数据改变生活

干货第一弹——编程经验

发表时间:2022-07-14 14:08


原创 曾泽宇 求知联盟 2019-06-29 22:32


图片



编程经验


图片



大家好,也许有许多有意于学习编程的学生,可能由于自身非计算机专业等各种各样的原因给你造成了困扰、止步不前。

希望通过在这里分享我大学的学习经验以及竞赛经验能够帮助到你。

正文开始前先感谢张浩驰学长对我的信任,并希望能帮助到大家。



-

                                找到自己的方向

-



图片


编程语言的思路虽然大相径庭,但是由于各种编程语言的特性让其在使用上有着些许不同。

比如:JAVA作为Android应用开发的基石,经常应用于Android应用开发、视频游戏开发、桌面GUIs、软件开发。

但是也有使用内存较高、启动时间长等缺点。Python有着易于学习、广泛的工具及功能库能帮忙实现大量构建工作,经常应用于Web开发、视频游戏开发、桌面GUIs、软件开发。

不过作为一种解释性语言,其速度往往低于编译语言,并且Python在移动计算机领域的表现比较糟糕。

C语言拥有出色的可以移植性,可以在无需多大改动的前提下将开发的软件运用不同的平台。

并且几乎可以被嵌入一切现代处理器中。

经常应用于操作系统、软件开发、硬件开发。不过他的学习曲线比较复杂,适合已经对其他编程语言有所了解的学习者。

上述列举了三种语言的优点、缺点、应用方向,其他语言就不一一列举了。

在大学的学习生涯中,有许多需要选择的。

在学习编程的过程中,应该明确自己的方向,找到适合自己的编程语言,会让以后的学习更加顺利。


-

                                算法的学习

-


图片


图片


程序员的算法基础就好像盖楼时候的地基,影响着你的上限,但是现在很多学校、学生并不重视学生这方面能力的发展。

众所周知,时间复杂度、空间复杂度是一个十分重要指标,以时间复杂度为例,计算1到n之间的和。

方法一:1+2+3+..+n;方法二:(1+n)*n/2。方法一中时间复杂度为n,方法二中时间复杂度为1。

可能当n比较小时两个方法的运行速度并没有太大的差别。

但是当n区域无穷时就十分明显了。

在更复杂的问题中,算法的要求也就越高,越重要了。

当然算法的学习过程是枯燥的,就好像高中时刷题一样,需要不断的写题来巩固基础,锻炼思维。在这里推荐初学者,通过51NOD或者牛客网进行学习,将写题过程中,不会的算法单独拿出时间进行学习,而后结合CSDN、新浪博客上大佬的博客对解题过程进一步理解。

参加程序设计竞赛的同学还可以多参加TopCoder、Coderforces、牛客网上的线上比赛,通过比赛锻炼自己的同时找到自己薄弱环节,再进一步强化。

同时通过比赛获得的成就感也是你在学习算法枯燥的路上一点调味品。



在学习编程的路上,最重要的是坚持、兴趣,以及学会去品尝自己所带来的成就感,保持一颗热爱学习的心。

最后感谢张浩驰学长在大学四年给我的帮助,希望大家能够找到属于自己方向,有一个精彩的大学生活。



图片


图片

图片:网络

编辑:苏苏





QQ:258506508                                     联系电话:020-000000    000-000000                                   联系邮箱:xxx@.co.m                                     联系地址:XXX省XXX市XXX县XXX路