- 博客(9)
- 资源 (18)
- 论坛 (11)
- 收藏
- 关注
原创 KMP算法:线性时间O(n)字符串匹配算法
《算法导论》一书中有一句话,我认为说的非常透彻:“这两个程序有很多相似之处,因为它们都是一个字符串对模式P的匹配:KMP-MATCHER是文本T针对模式P的匹配,COMPUTE-PREFIX是模式P针对自己的匹配。”
2018-12-27 23:39:02
1845
2
原创 BFPRT算法:时间复杂度O(n)求第k小的数字(分治算法+快排)
去年写了一篇《分治算法 求第k小元素 O(n)》的文章。介绍了一种对快排进行改进的算法,可以在时间复杂度O(n)的情况下,找到第k小的数字。那时候,我还不知道这个算法叫BFPRT算法——现在知道了,还知道它又被称为中位数的中位数算法,它的最坏时间复杂度为O(n),它的思想是修改快速选择算法的主元选取方法,提高算法在最坏情况下的时间复杂度。而且,我还发现了STL中有一个类似的函数——std::nth_element (位于头文件`<algorithm&am
2018-12-25 22:35:56
3485
4
原创 浅谈C++多态实现原理(虚继承的奥秘)
根据我的已有知识,如果要实现C++的多态,那么,基类中相应的函数必须被声明为虚函数(或纯虚函数)。举个例子:class Point {public: Point(float x = 0.0, float y = 0.0) : _x(x), _y(y) { } virtual float z(); //virtual functionprotected: float _x, _y;}...
2018-12-24 17:47:24
622
4
原创 对C++ templates类模板的几点补充(Traits类模板特化)
前一篇文章《浅谈C++ templates 函数模板、类模板以及非类型模板参数》简单的介绍了什么是函数模板(这个最简单),类模板以及非类型模板参数。本文对类模板再做几点补充。文章目录1. 缺省的模板实参2. Traits编程技法——以STL迭代器为例1. 缺省的模板实参这里依旧使用上一篇文章中的array类作为例子,其中有一处改变了——就是将unsigned int N = 10后面添加了...
2018-12-23 22:33:44
421
2
原创 浅谈C++ allocator内存管理(对比new的局限性)
STL中,对内存管理的alloc的设计,迫使我去学习了allocator类。这里对allocator内存管理做了点笔记留给自己后续查阅。allocator类声明、定义于头文件<memory>中的std命名空间内。所以,应该有以下内容位于文件头部…#include <memory>using
2018-12-23 18:27:00
2833
3
原创 浅谈C++ templates 函数模板、类模板以及非类型模板参数
最近打算挑选几个STL容器做个简单实现,发现里面牵涉到不少模板知识。这里算提前学习一下C++模板的相关知识吧。这次主要学习了什么是函数模板(这个最简单),类模板以及非类型模板参数。下面挨个举例说明。文章目录1. 函数模板2. 类模板3. 非类型模板参数1. 函数模板函数模板是最简答的一个,下面就定义一个返回两个值中最大者的函数模板:namespace og {template<...
2018-12-22 22:07:42
1278
原创 关于“有用的”默认构造函数的合成
那么,什么时候才会合成出一个default constructor呢?——当编译器需要它的时候!此外,被合成出来的constructor只执行编译器所需的行动。[x] “任何class如果没有定义default constructors,就会被合成出一个来”?——错[x] “编译器合成出来的default constructors会显式设定class内每一个data member默认值”?——...
2018-12-10 23:06:57
950
原创 C++中定义一个不能被继承的类(友元类+类模板)
自从`C++11`标准出来之后,就有了关键字`final`可以直接声明一个类不能被继承。那么,在此之前如果想要一个类不能被继承,可能还需要下一番功夫。
2018-12-07 09:54:46
914
原创 动态内存管理allocator类C++ STL标准模板库vector实现
//vector.h#ifndef NSTL_VECTOR_H_#define NSTL_VECTOR_H_#include <memory>#include <string>namespace nstl { class vector { public: vector() : elemen
2018-12-02 20:52:05
1967
2
朴素贝叶斯分类算法
2015-06-23
数据挖掘十大算法之k-means算法
2015-06-22
gson-2.2.4.jar
2014-12-07
科学计算器(简化版:基于MFC对话框)
2014-11-25
计算机图形学 Cohen- Sutherland直线段裁剪算法
2014-11-05
多边形有效边表填充算法
2014-10-16
Appriori算法
2015-06-22
数据挖掘:ID3算法
2015-06-21
KFC宅急送系统
2015-06-19
【GitHub-SwipeMenuListView】针对ListView item的侧滑菜单
2015-03-18
Android PopupWindow使用示例
2015-01-11
SQLiteDemo
2015-01-10
Android中Application类用法
2015-01-10
Viewbadger 实现消息数字提示
2015-01-09
qingdujun的留言板
发表于 2020-01-02 最后回复 2020-02-27
WSAEventSelect模型“Ctrl+C”是否能关闭掉服务端?
发表于 2019-03-31 最后回复 2019-03-31
【博客BUG反馈】标题栏中输入 < <= & 等类似符号 报错,提示无法保存?
发表于 2018-05-22 最后回复 2018-06-10
socket select 未触发?
发表于 2017-07-13 最后回复 2017-08-10
[悬赏100分] Android UI设计有什么书籍推荐
发表于 2014-12-02 最后回复 2017-07-13
谁能给讲一下execle设置环境变量的具体用途吗?
发表于 2014-08-19 最后回复 2014-08-24
鼠标钩子响应的奇怪问题!!!
发表于 2014-05-15 最后回复 2014-05-18
怎么查看保存在ie8浏览器中的星号密码
发表于 2013-10-05 最后回复 2014-03-07
俄罗斯方块遇到的小问题
发表于 2013-11-17 最后回复 2013-11-20
编辑框里面的字体无故被反选上了。
发表于 2013-11-09 最后回复 2013-11-11
如何禁用MFC对话框窗口的最小化按钮
发表于 2013-11-07 最后回复 2013-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝