大家好,今天小编关注到一个比较有意思的话题,就是关于数据结构如何学习编程的问题,于是小编就整理了1个相关介绍数据结构如何学习编程的解答,让我们一起看看吧。
数据结构学得不好,还适合当程序员吗?为什么?
作为面试官,如果我认为你的数据结构不好,可能一面都不会给你过。
首先说明,我的面试官经历主要是针对在校生。
对于大学生来说,算法与数据结构是他们本科的必修课,如果数据结构都不扎实,说明他的基础课程就没有认真学,那还谈什么做一个优秀的程序员。
我们在面试实习生/校招生的时候,通常是根据简历,如果简历上有项目经验,一定会针对项目经验展开问询,了解他在过去的项目中做了哪些事情,承担了什么样的工作,从编程能力与团队合作能力两个角度来综合评估面试者。
如果没有参与大型项目的经验,也完全是可以的,我们可能会问是否自己使用一些流行的框架或者工具做过什么小项目,这样的问题也是可以了解学生的自学能力,也足够评估学生的水平。
如果学生这方面经验也没有的话,我们就会转而专攻算法与数据结构。因为如我上面所说,学校可能没给你机会参加大的项目开发,但是学校肯定教你数据结构和算法了,如果问你数组,链表,堆栈,队列,树,图,深度优先,广度优先,动态规划,你还是表现的不太擅长,那么请问你拿什么来说服面试官,你有能力做一个优秀程序员呢?一个连课都不好好上的人,我们怎么相信他的能力呢,毕竟不是***都像扎克伯格一样可以退学创业。再退一步说,人家扎克伯格虽然不好好上课最后退学了,但是人家有项目经验啊。
因此,如果你想做一名程序员,一定要打好基础,好好研究数据结构。
如果你绝得我说的太抽象了,那么推荐给你一本书,我能保证,学懂这本书的三分之二,BAT的实习随你挑。书名叫《数据结构与算法分析》,这本书有java语言也有C语言的,可用根据你的情况自行挑选。
编程的过程实际上是一个确定对象关系,划分职能模块,处理通信方式的过程,本质上是一个完善逻辑的过程。而良好的逻辑体现在编程领域的各个方面,下至操作系统,数据结构的实现,上至业务代码的编写,都是以良好的逻辑思维能力为基础的。而一名优秀的程序员,能够做到将编程语言与自然语言自如切换。
题主说到数据结构学的不好,对于一个初级程序员,这里可以从两个方面来谈。如果仅仅是在业务应用层面上,我们常用的数据结构已经可以解决大部分问题,题主会使用列表,字典以及简单的树,知道怎么增删改查遍历等其实已经够用了。更为重要的是你是不是真的明白了这些数据结构的实现逻辑与使用场景。其实看你能不能自己亲手实现这些数据结构就可以知道你的逻辑思维能力如何了。如果你觉得再怎么努力也弄不懂的话,那的确应该好好思考一下将来的规划了。因为编程终究是考量的逻辑能力(其实还有沟通协调的能力),的确,作为程序员可以不去造轮子,但能不能用好轮子还是要看你的逻辑思维的。等你开始工作后会遇到许许多多的问题,大部分问题其实都和数据结构没啥关系,但是如果你不具备解决新问题的能力,那么想要有长久的发展就会比较难。
但还是那句话,无论你以为从事哪个行业,问题总是层出不穷的,而努力学会找到解决问题的方法比面对困难就选择逃避要强上百倍。
希望我的回答能对你有所帮助~
不适合,数据结构是程序员最核心的一门课,你要能理解数据的组织形式。相对来说,编程语言也没用数据结构重要。数据结构是编程的思想,编程语言只是实现编程的工具。
就好比中文英文只是用来表达的工具,而如何表达,怎么组织语言则是数据结构的思想。
数据结构和算法设计是程序设计的核心,所以学好数据结构对程序员来说还是非常重要的,但是也不是说数据结构学的不好就不能做程序员,因为对于应用级程序员来说,大部分数据结构已经封装好了,直接使用就可以了。
什么是数据结构呢?数据结构是组织数据的方式,数据结构在很大程度上决定了算法的执行效率,所以数据结构往往与程序的效率关系紧密。数据结构分为逻辑结构、存储结构和运算,逻辑结构包括***、线性结构、树形结构和图形结构,一般常见结构包括数组、栈、队列、树、链表、图、堆等。
要想学好数据结构一定要多做实验,尤其是对比实验,通过不同的数据结构来观察算法的执行效率,这对学习数据结构有非常大的帮助。说白了数据结构的概念往往比较抽象,如果能通过程序代码来建立一个画面感的话,会非常有助于对概念的理解。
一般研发级程序员对数据结构的要求比较高,因为研发级程序员几乎每天都要跟各种算法打交道,而算法一定要结合数据结构。
对于应用级程序员来说,接触算法的机会并不多,而且应用级程序员占据了程序员群体的大部分比例。因为目前计算机解决的大部分问题都是管理问题,所以算法的接触并不多。也就是说如果做Web开发、移动互联开发,即使数据结构学的并不好,也不会在很大程度上影响编程工作的开展。
但是,如果想在程序员的道路上走得更远,还是建议系统的学习一下数据结构和算法设计,毕竟研发级程序员的发展空间更大,职业生命周期也更长。
我的研究方向是大数据和人工智能,目前我也在带大数据方向的研究生,我会陆续在[_a***_]上写一些关于软件开发方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有软件开发方面的问题,或者是考研方面的问题,都可以咨询我。
谢谢!
到此,以上就是小编对于数据结构如何学习编程的问题就介绍到这了,希望介绍关于数据结构如何学习编程的1点解答对大家有用。