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

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

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

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

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

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

已有1013人预订
预订达标
文章出炉
     
18.08.28
18.08.31
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张氢氧化钠的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
Spencer
关于String有一个细节还是要了解一下。C++中的std::string是多字节字符串,std:wstring才是宽字节字符串;Java的String是Unicode编码的,是宽字符字符串。 当然大部分情况下,大家可能不会遇到这个差异所带来的坑,除非专门处理中文相关的算法(如统计中文字符串的字数)。
Spencer
C++的动态数组的分配,用完一定要释放内存,通常算法被调用的频率会比较高,不然很容易内存泄露导致内存耗尽!Java不用考虑内存的释放。
你可能还喜欢
MyBatis 枚举全面使用指南
逆流而上/isea533
有关微服务的简介和经验分享
Yang
大型 Java 应用后台重构技术策略详解
驰骋
如何采用一套程序代码,实现系统的“千人千面”
白公
如何在繁重工作间隙保持良好的自学节奏和效能?
大妈
微服务网关 Spring Cloud Gateway 的应用实战
aoho求索
微信扫描登录