2022-11-24

计算机行业的实际工作中,涉及数据结构和算法相关的多吗?光是编程语言厉害不行吗?

想咨询一下关于计算机行业的实际工作中,涉及数据结构和算法相关的多吗?光是编程语言厉害不行吗?的问题,大家能帮助我解答一下吗

11 个回答

  • 金色回忆

    我是73年的程序员。每个语言都有它的适用场景。主要还是国内做应用的系统多。做工具类的系统少。网站系统选java,cpu密集的程序,你用汇编都可以。

    但现国内主要是web这类io密集的程序,工业领域的项目搞的少,大多数被欧垄断。国内主要是web开发,没办法市场在哪里,要说中国计算机差距,目前只算是学徒。不是哪个开发语言更强,关键看你要开发什么系统。

    什么样的系统决定了选择什么样的语言。什么语言不重要了,语言到最后也只是承载数据结构+算法的载体,你就用c搞不出来东西一样玩完。本人用了10年汇编语言、c++,之后用了6年纯c,像什么php,java,python也做过不少项目,基本上最爱还是c与c++,语言已经不是障碍。

    用不同语言时考虑问题角度不同,实际上主导用什么语言由产品与项目决定,换句话说有需求决定。只能说中国的公司绝大部分都是在纯应用上打转转,你看现在h5与那些小程序,基本上就是js,css,html搞来搞去。

    我最近在看kotlin,我觉得kotlin集多种编程语言的优点于一身,是很有前景的编程语言之一。

  • 你好,要看你从事计算机哪一块,如果做维护涉及不多,做开发相对多一些,开发也分多种,汇编好像不火了。现在火的是安卓开发。

  • 教育

    编程语言是怎么来的?就是数据结构和算法而来的

  • 点石成金

    算法,罗辑思维最重要,语言占比非常低,让你做一个几百万数据的排行榜,你肯定是会想算法,而不是用什么语言来实现。

  • Zhang123

    据说是这样。我家没业内人士,但大家族里有从事软硬件工作的人士,任职省无委高工、银行计算中心主任等,他们在学生时代,都是语文、数学、物理超级好的学霸~

  • 淡定从容

    编程语言相当于刻刀,你各种技法玩儿得溜,但是真正想雕刻出一件好的作品,要有一个明确的想法,即怎么运用你的技法,最终做成的是一个什么样子。

    所以数据结构和算法其实是比编程语言更重要的东西。怎样实现一个功能?你要思考的不是语言层面的东西,而是逻辑,“这个变量的值有几种可能?如果这个变量值为空,该怎么处理?”“嵌套循环的性能太差了,有没有办法优化一下?”“为了fix这个bug,方案A和B,哪个更好呢?”诸如此类。

  • 董沫然

    2021年高考,志愿填报理工类计算机类专业的,建议都学好计算机吧!这里说的学好不仅仅是学校的那些课程,这些当然要学好,这是基础。但是如果仅仅如此,那么你可能落后时代5-10年左右,因为市场上很多招聘的是能熟练使用JAVA面向对象编程这种程序员。

    计算机类专业是火,大学转专业也是计算机类专业火热。预计今年高考录取分数计算机类专业可能会提高了。

    那些上不了计算机类专业的同学就放弃了吗?当然不能,某985大学的机械学院被称之为计算机二院,可见,专业不能阻挡任何人的计算机之路。毕竟计算机还是看重实力,对于出身于什么学校和专业的要求还是宽松一些。JAVA面向对象编程的市场需求旺盛,理工类首选这个语言先学习起来。

    英语不好影响学习编程么?只要能上大学,那么影响就不大。常用的那些很快就会记住的!

    女孩子可能会学得有些糊涂,多看几个版本的书有助于理解,拿些JAVA编程实例多敲代码,多动手练习,问题也不是太大。

    大一就要准备好计算机,就要开始敲代码,当然多敲JAVA编程是没错的!

    高数能学好就努力学好吧,毕竟这是基础知识。结合实际的JAVA面向对象编程的操作来理解高数也许更好一些,把数学思想融合进计算机语言程序里面。

    大学的课程很多很杂,能学好当然学好。

    但是要记住,计算机类专业特别需要学好学精的两大核心——语言和数据库(数据结构和算法),语言首选JAVA面向对象编程。

    为什么说大一就要开始敲代码?一是可以快速进入计算机类专业独特的编程工作状态,进入状态就容易入门,容易理解。否则一直就是门外汉,只看不练假把式。

    一开始就要进入主流语言编程——JAVA面向对象编程,搞通了这一个就足够吃饱饭,后面学习其它语言也会比较容易理解。

    互联网大厂招聘计算机类专业从来都是多轮次的过关,各种笔试机试面试,没有点真水平,只靠一个毕业证就能拿高薪水,怎么可能呢?所以,努力,从现在就开始吧!

    JAVA面向对象编程,给2021年高考的考生

  • 实际工作中数据结构和算法的内容很多很多,不过大部分都是使用轮子。轮子的意思就是别人写好的代码,我们拿来用。其实您可以看看网上很多视频教程,这方面的知识也是熟能生巧的。很多软件培训班的内容基本上都不太设计这方面,都是教导您怎么去使用这些技术。算法呢,就是实际编码过程中肯定会用到一些,这方面也没太多要顾虑的。工作之余可以在网上找一些题目刷刷题就行。主要还是要保持自己独立思考,多写代码,写的代码多了就熟能生巧了。编程语言厉害其实就是数据结构和算法这方面厉害,其实是一个意思来的。

    说白点就是,如果您是为了找工作担心数据结构和算法这方面不过关,那么可以先找一些与这方面知识相关性比较少的工作。比如一些小程序开发,javaweb,php等这方面的工作。如果您是要找C/C++方面的工作,那数据结构和算法这门科目,您就一定要过关的。不同的语言擅长的领域不一样,java,C#,php这方面的工作更倾向于业务型,如果您对于某一领域的业务很熟悉,那么使用这几种语言可以很好和快速给您帮助,并容易出成绩。举个例子,比如工厂ERP,MES,要求的是对于生产,库存,物料,以及生产制程等等业务要有了解,医疗类的His系统,要求的就是医疗的一些业务,流程,相关法律法规等等。而C/C++对应的一些工作岗位要求的都相对偏底层一些编码工作,那么这类的基础科目就变成比较重要了。

    总的来说一些基本的算法比如什么冒泡排序,选择排序这类还是要懂。而数据结构最基本的链表,栈,队列,二叉树等基本知识也要会,这些知识照着书本上的代码敲几遍基本上都懂了。而更深入的一些算法内容比如opencv,opengl,caffe,tensorflow这些都是一些算法写好的开源库,我们直接拿来用并且使用的过程中慢慢学习里面的算法。踏踏实实写几年代码,这类问题其实您自己就能够给自己答案。

  • 沉稳如山

    沈阳假一线城市程序员一枚,通过个人经历来回答,不一定具有普遍性,但是相对来说可能是一部分程序员都经历过的。

    首先,要看你在什么阶段,如果你是在校生,那么数据结构和算法必须要会,而且越厉害越好,这是你去大厂bat的敲门砖,因为校招的很多面试认为,大学唯一考量要给学生的水平那就是专业课,专业课里面比较有难度的就是数据结构。如果你是已经工作的程序员,那么就看你从事的行业了,我是做javaweb的涉及数据结构和算法就很少,但是我有同学做搜索引擎的就需要的多了。

    其次,看你想要达到什么高度,虽然我是做javaweb目前工作中用的少,但是涉及深层次的源码,java语言中典型的hashmap,底层不仅涉及数据结构,还涉及数学知识,那么你要精通哪数据结构和算法就必须厉害。

    最后有一点就是,编程语言很厉害的其实很多数据结构和算法都很厉害,这两个事情有些时候是相辅相成的,因为有些时候你想写出优秀的代码,精通数据结构是必不可少的。

  • 沐馨

    看个人的发展,其实学编程也类似于建一栋楼,首先要把地基打好,而数据结构和算法就是编程的地基,一个程序员要想走的高和远,扎实的基础是必不可少的

  • 教育

    我是一名计算机爱好者。先贴出我的成绩(图1,2),再进行说明,kaggle是面向国际的人工智能热门比赛,我用试错法从图中可看出我参加了18场比赛,其中认真进行的比赛大约有10场,其中5场拿到了2银3铜的成绩,另外所有场次都是单人solo进行的,几乎没有人协助我完成比赛,本人非科班计算机211退学(学信网可查)选手,大学时期学过一些最基本的C/C++技术知识,但需要重修才勉强通过,也就是相当于基本不能从事计算机职业人士,后来退学后,我凭借着优秀的自学能力,自己学了很多计算机技术,虽然没有成系统性的学习,但是也学了3-4年(包括编程语言,数据结构与算法),然后随着2016年阿尔法狗的兴起,我紧跟前沿,于是也随之学习AI技术2年左右(图像方面),然后2018年开始参加Kaggle比赛,在比赛中我基于基本的编程与常用的算法知识,还有刚学到的AI基本技术,开启了kaggle之旅,第一场比赛由于平台99.99%的人都用python,而我只会C语言,那么我几乎看不懂比赛讨论区的任何技术性文章,只能100%依靠自己用C语言(caffe框架)编写的程序获得一份概率分数作品,然后提交到比赛服务器上,所有过程都是用C语言写的,得了一个在赛后比赛第一说42.5%是基本的成绩,也就是比赛第一(他最终的分数是78+%,而我是42.5%)所说的承认了42.5%以上的成绩不是随机水平的分数线,而是有基本AI知识的分数线。而后我发现用C语言打比赛是件愚蠢而低效的事情,这是我比赛的第一次转折,从那时起,我改用python,边学python边打比赛,其中用的是谷歌的tensorflow框架,当时认为该框架是极简主义的典型框架,适合初学者,但是缺点也是显而易见的,就是不太灵活,因为属于静态框架,而pytorch当时也是存在的,这个框架属于动态框架,很灵活,但对刚入比赛选手不太友好,所以选定了tf框架后,开始比赛,起初比赛进行的并不顺利,又要学习新语言又要学习新框架,所以当时就是几乎没有任何人类先验知识的情况下,我用了一个比较前沿的学习方法,就是试错学习方法,在代码中不断尝试各种可能进而学习且比赛,当然在尝试各种可能过程中,必然有些可能是显而易见的错误(某些人士称之为瞎试,但是试验总是要有的,万一试验成功了呢?有时候往往不太可能的试验,可能会出现可能正确的结果,不要被先验知识束缚住,就像梦想总是要有的,万一实现了呢?!)就这样,我不能说索引了所有路径,也可以说索引了我能想到的所有的路径。就这样经历了7-8个比赛后,我的python与tf框架都很熟练了,并且也拿到了2铜的成绩(2铜or3铜?忘记了,这不是重点。)在7-8场比赛后,我发现逐渐使用pytorch的人多了,同时也在比赛中受挫,所以决定改用pytorch动态框架,这是我比赛生涯的第二次转折,pytorch框架用了大约有7-8场后,拿到了2银1铜的成绩,总成绩可以看下面两张图。
    试错法:是强化学习的理论基础,当然如果上升到理论,还要有一些数学公式证明等。而我是试错学习的实践者,试错学习可以零基础学习任何没有人类先验知识的技术方法,当然人类模拟试错学习实践肯定没有机器基于强化学习理论的试错学习方法要快与准,但是这种特殊的学习方法可以用于创新创造,而不仅仅是学习熟练的技术,这一点可以在未来慢慢检验....,大家可以看看今日头条一些人工智能计算机技术文章,现在的智能体可以解决一部分奥数题了,链接 网页链接
    综上所述,当代人所处的时代是信息时代,网络时代,互联网,物联网等万物互联时代,所以合理捕捉网上的技术性知识是每一个有自制力的成年人应该所掌握的学习工具。我个人五年的经历可以看出,即使你没有在大学期间学习到多少专业计算机知识,但是也可以靠自主学习(当然有一定的数学&逻辑基础)来跟上时代前沿。
    最后:对于懂试错学习的专业人士可以进行留言简单交流,对于其他人,不喜勿喷哈。

相关推荐