2016 - 2024

感恩一路有你

java冒泡排序经典代码 为什么有些算法岗位,需要用C 而不是python?

浏览量:2476 时间:2021-03-15 14:24:30 作者:admin

为什么有些算法岗位,需要用C 而不是python?

C/C是一种相对低级的语言,它可以很好地控制CPU/内存和其他计算机资源,尤其是硬件。在算法运算最精细的时候使用它们是很自然的。

但它们的优点也是缺点。精细的操作自然需要精细的编程,精细的编程自然需要复杂的语言设置,比如什么是指针,什么是指针函数,什么是函数指针当你理解了这些概念,你可能就没有编写代码的冲动了。更重要的是,如果你想编写高性能的代码,你必须精通这些概念

Python的一个非常重要的特性就是所谓的“粘合语言”,也就是说它可以将用不同语言编写的代码模块组合起来,然后通过Python调用它们。实际上,大多数算法库都是用C/C语言编写的,然后提供Python接口供用户使用。毕竟,大多数人只需要知道如何调用封装的算法。但是如果你想实现你自己的算法,你必须知道C/C

例如,Python就像一个电视遥控器,C/C就像遥控器中的电路板。通常,如果你想换台,只需按一下按钮。但有一天你只需要一个将屏幕旋转90度的功能,遥控器没有这个功能,但可以通过卸下遥控板,插入几个组件来实现。你是做什么的?

学Python一定要会算法吗?

开始时,您不必很好地学习算法。但是随着技术的发展,仍然需要算法,否则只能做一些工作。

1. 学好软件开发离不开计算机理论基础,比如数据结构、操作系统、网络技术、算法研究等,如果你喜欢这项技术,那就不是问题。先开始,你可以弥补。

2. 算法是软件开发的灵魂。好的算法写不出好的程序。

3. 如何学习算法,首先选择经典算法教材。基本的可以从数据结构中学习,其中包含一些基本的算法,然后再学习特殊的算法(实际上,在数据结构领域学习算法一般就足够了)。网上还有很多论坛、算法网站,为了吸引眼球,它们一般都很通俗易懂。大多数算法都是C语言,但是语言在算法层次上是相互联系的,因此理解算法模型是最重要的。

4. 万事开头难。只要你开始,剩下的就是慢慢操作这项技术。该算法在实际应用中是最快、最强的。

希望对您有所帮助

如果是基础的,我想找一个在线网站学习如何开始是可以的。如果你想系统地学习,我建议从不同的方向学习会更有效率。例如下面三个,分别为安全域、数据分析、网络爬虫等。如果是游戏指导或机器学习,找另一个。。

从哪本书开始学习Python比较好?

对于那些使用了多种开发语言(Java、C#、nodejs、Erlang)然后转用Python进行机器学习的人,我想谈谈我的看法。

首先,Python真的很慢吗?我的回答是真的。非常慢。for循环比CPP慢两个数量级。

那么为什么要使用Python呢?如果我们遍历超过一亿个数据,两个数量级的差异是不可接受的。但是,如果我们使用Python来执行顶层逻辑并阻塞数以亿计的数据,Python只会循环十几次,剩下的就留给CPU和GPU了。所以两个数量级无关紧要?一毫秒和100毫秒在整个系统中并不重要。

Python最大的优点是它可以非常优雅地将数据抛出到高效的C、CUDA中进行计算。Numpy、panda、numba这些优秀的开源库可以非常方便高效地处理海量数据,借助ZMQ、cell等还可以做分布式计算,gevent借助epoll系统IO优化。因此,它不需要花费太多的精力就可以优雅高效地完成海量数据处理和机器学习任务。这就是Python如此流行的原因。

好好想想。同样的性能,代码只有CPP或Java的三分之一或更少,不是很吸引人吗?

java冒泡排序经典代码 python networkx教程 无向图最短路径算法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。