3.6 马尔科夫链算法的具体实现(C++环境下)

本文介绍了如何在C++环境下使用STL实现马尔科夫链算法,特别是利用deque作为双端队列来处理前缀操作,并通过map容器存储前缀到后缀的映射。虽然C++实现相比C语言会慢一些,但借助STL的便利性,代码更加简洁。
摘要由CSDN通过智能技术生成

3.5 马尔科夫链算法的具体实现(Java环境下)

    由于我不是一个Java的程序员,只略懂一点Java的皮毛,所以不敢写,如果有大佬可以写的话,欢迎补充。我也会进行转载。

3.6 马尔科夫链算法的具体实现(C++环境下)

    因为C++语言几乎是C的一个超集,只要注意某些写法和规则,C++一样可以以C的形式去使用,实际上在上一篇中,我得所有输入输出就是用的C++中的基本输入输出流。对于C++来讲,更合适的用法应该是定义一些类,建立起程序中需要的各种对象,这样可以隐藏起很多实现细节。在这里,我们更进一步,使用C++的STL(标准模板库),它不仅给我们提供了很多内部机制,更重要的是,它已经被ISO列入到C++的语言定义中了,我们可以放心的使用。

    在这里,说到为什么有C++还要学习C,甚至我第一个写的实现就是C。个人来讲,可能是觉得C比较好玩吧,所有的操作都是你可以看到的。我喜欢将C比作一把双刃剑,喜欢那种锋利的感觉(是不是玄幻看多了)。还有可能是学校第一门计算机语言类的课就讲的C,到现在还能记住拿C+OpenCV1.0写的曼德勃罗集合...

    STL提供了许多的容器类,例如向量、链表、集合,还包括了许多检索、排序、插入和删除等等的基本算法。利用C++的模板特性,每个STL算法都能用到很多不同的容器类上。容器类的元素可以是用户定义类型或者是内部类型的。这里的容器都被描述为C++模板,可以对特定类型进行实例化。例如,STL里有一个vector容器类,由它可以导出各种具体类型,比如vector<int>;vector<string>等。所有的vector操作,包括排序的标准算法,都可以直接应用到这些数据类型。

    STL里,除了有vector容器(它与Javavector类差不多)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值