- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 C++对象模型解析
C++的额外成本 C++较之C的最大区别,无疑在于面向对象。类相较于C的struct不仅只包含了数据,同时还包括了对于数据的操作。在语言层面上C++带来了很多面向对象的新特性,类、继承、多态等等。新特性使得C++更加强大,但同时却伴随着空间布局和存取时间的额外成本。作为一个以效率为目标的语言,C++对于面向对象的实现,其实不大,这些额外成本主要由 virtual引起,包括: virtu
2014-05-31 12:11:15 749
原创 抽象类与接口的区别
1、抽象类就是将类似或相似的部分给抽取出来,这句话看上去很搞笑,其实它说出了抽象类的真理。你可能会说”我不是可以重写一个公共类,然后我实例化这个公共类,调用相同的方法就可以了”,这里是可以,实际上抽象类的工作也就是这个,不过他省去了你实例化的这个步骤,并且你还可以生载这个方法 抽象类特性: 1. 非抽象子类必须完全实现这个抽象中所有的抽象方法 2. 抽象类不能被实例化,它的意义在于
2014-05-28 11:11:30 485
原创 Trie树及应用
最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度都为 O(k) ,
2014-05-18 16:08:37 503
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人