用 C++ 和 Java 写算法,差别大吗?

作者/分享人:氢氧化钠
向 Ta 提问
资深软件专家,开发经理。

前段时间,我在 GitChat 上写了一门《算法应该怎么“玩”?》的畅销课,这门课选了三十多个简单且实用的算法实例,基本覆盖了各种算法比赛中经常出现的题目以及生活中常见的一些有趣的算法实现,在介绍每个算法实现时其侧重点会放在各种算法的设计方法和思想上,让读者拥有将具体问题抽象为数据模型的能力。

课程上线后,收到了读者的不少好评,也收到了一些反馈:“算法为什么用 C++,而不用 Java 写呢?”

我打算写一篇文章来比较一下用 C++ 和 Java 在写算法时的差异,通过对比,Java 程序员能快速理解我用 C++ 实现算法的例子,C++ 程序员也能看懂简单的 Java 算法代码,两种语言的对比会放在一起展示。

此外,C++ 语法层面使用的版本是 C++ 11 和 C++ 11 之后的版本,Java 使用的标准是 Java 6 和 Java 6 以后的版本。

已有790人预订
预订达标
文章出炉
     
08月28日
08月31日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张氢氧化钠的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
Spencer
关于String有一个细节还是要了解一下。C++中的std::string是多字节字符串,std:wstring才是宽字节字符串;Java的String是Unicode编码的,是宽字符字符串。 当然大部分情况下,大家可能不会遇到这个差异所带来的坑,除非专门处理中文相关的算法(如统计中文字符串的字数)。
Spencer
C++的动态数组的分配,用完一定要释放内存,通常算法被调用的频率会比较高,不然很容易内存泄露导致内存耗尽!Java不用考虑内存的释放。
你可能还喜欢
如何设计一个灵活的 MySQL 数据表,应对灵活多变的需求
李岩
Jenkins 自动化构建部署实战
火币集团研发中心
Java 程序员应掌握的 Nginx 实战应用
JPM
带你玩转 JSON
能量架构师
实战剖析 Java 秒杀系统的实现
虎口脱险
小程序从入门到进阶
loonglong
微信扫描登录