自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L.J.SHOU的专栏

博客搬家啦,新地址 ljshou.gitcafe.io

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据结构《17》---- 自动补齐之《二》----Ternary Search Tree

一、 序言上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)二、数据结构定义Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。一种改进措施就是,以一棵树来代替上述的指针数组。

2014-04-29 23:23:10 1896

原创 C++ Daily 《4》----一个简单的 int to string 的方法

经常会在项目中用到 int to string#include #include #include using namespace std;int main(void){ ostringstream num; num << 123; string str = num.str(); cout << str << endl; return 0;}

2014-04-29 16:31:04 1244 2

原创 C++ Daily 《3》----构造函数可否是虚函数

C++ 中构造函数可否是虚函数?绝不要!!而且,在构造函数中调用虚函数也是不提倡的行为,因为会引发预想不到的结果。因为,在 derived class 对象构造的过程中,首先调用的是基类的构造函数,等基类构造结束,才开始构造派生类的部分。这个过程中,编译器将该对象视为 基类,而非派生类(因为,派生类对象的专属部分还未初始化!!!)所以,如果在构造函数中调

2014-04-28 22:15:18 1094

原创 C++ Daily《2》----vector容器的resize 与 reserve的区别

C++ STL 库中 vector 容器的 resize 和 reserve 区别是什么?1. resize 改变 size 大小,而 reserve 改变 capacity, 不改变size.2. vector内部其实包含了三个指针,如下图:resize()------改变 finish 指针reserve()----改变 end_of_storage 指针3

2014-04-26 13:16:27 1400 2

原创 C++ Daily 《1》----关于对象

1. 问题请问如下的一个 class 的一个对象占了多少内存? 具体包含哪些东西? non-static 变量? static member 变量? member function?? virtual function??class A{public: virtual void print();private: int a; static double b;};

2014-04-25 23:06:41 904

原创 数据结构《16》----自动补齐实现《一》----Trie 树

1. 简述Trie 树是一种高效的字符串查找的数据结构。可用于搜索引擎中词频统计,自动补齐等。在一个Trie 树中插入、查找某个单词的时间复杂度是 O(len), len是单词的长度。如果采用平衡二叉树来存储的话,时间复杂度是 O(lgN), N为树中单词的总数。此外,Trie 树还特别擅长 前缀搜索,比方说现在输入法中的自动补齐,输入某个单词的前缀,abs,立刻弹出

2014-04-25 22:47:09 2715

原创 TopCoder----卖柠檬

Problem Statement You are playing a game called Slime Tycoon.You will be selling Slimonades in this game, and your goal is to sell as many as you can.The game will consist of N game

2014-04-22 19:17:59 2748

原创 动手实现自己的 STL 容器《2》---- list

1. 序:   本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 list 容器。   学习了 STL 的 list 容器的源代码,确实能够提高写链表代码的能力。其中的 sort 函数,可谓是非常神奇。。。2. 实现的细节   STL 的 list 容器采用了一个带有尾节点的环状双向链表。 如下图所示:// Last Update:2014

2014-04-20 21:47:53 1291

原创 C++ Primer----智能指针类 2

指针带给了 C++巨大的灵活性,然而同样也带来无数的问题,悬挂指针,内存泄漏等。int *pInt = new int(1);// Do not forgetdelete pInt;智能指针就是一种能够有效避免悬挂指针的方法。通过一个类,来管理指针的复制,delete 等。从而使用户可以放心地使用指针。一种智能指针的实现方法是,通过一个计数,追踪当前指向同一块地址的指

2014-04-14 21:30:30 1163

原创 动手实现自己的 STL 容器 《1》---- vector

本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 vector 容器。之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出。vector 容易实现的几点注意事项:1. 由于vector 是动态数组。出于效率的考虑,在往vector 中加入元素时,内存的扩展遵循的规则是:   1> 如果当前可用内存不够,开 2倍大的内存,将原

2014-04-11 15:58:11 3250

原创 STL 库中的陷阱----一个难以察觉的 bug

请找出下面程序的 bug

2014-04-09 14:19:18 2600 6

原创 Letter combinations of a phone number

Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.Input:Digit string

2014-04-02 16:05:20 944

原创 Combinations

Given two integers n and k, return all possible combinations ofk numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]

2014-04-02 15:46:53 958

doxygen ppt

doxygen是自动化的文档产生工具,该ppt让你能快速掌握

2015-05-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除