自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 基于Python的二叉树遍历算法

今天用Python把二叉树的三种遍历都实现了一遍,用作学习Python的练手程序:#/usr/bin/python#coding: utf-8from collections import deque#二叉树的节点结构class Node(): def __init__(self,data=None,left=None,right=None): self.dat

2016-07-30 15:04:00 873

原创 剑指offer面试题31、34、36、38

剑指offer面试题31、34、36、38代码如下://面试题31:连续子数组的最大和class Max_sum{public: int get_maxsum(int num[],int len) //(动态规划) { if(num==nullptr||len<=0) return NULL; vector> result(len,vector(len,0));

2016-07-28 16:25:39 466

转载 Python不能对字符解码的问题解析

今天在做简单的Python爬虫时遇到了编码错误的问题,查找资料得到如下结论:(转载记录,便于今后查找)报错的异常是   UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequence此问题,还是很具有代表性的,此处,专门整

2016-07-27 21:46:41 4701

原创 剑指offer面试题30:用自定义堆实现

保存数组的前k个最小值,剑指offer用的是STL中的multimap容器,我就通过自己实现一个最大堆来实现同样的效果,时间复杂度同样为O(nlogk),理解起来也比较简单,代码如下://找最小的k个数,用堆来操作class heap{public: void push(int num) { result.push_back(num); keep_heap(resul

2016-07-25 19:49:23 391

原创 剑指offer面试题28-29

实现剑指offer的面试题28、29://面试题28: 字符串的排列class Permutation{public: void get_permutation(char *str,char* begin) { if(str==nullptr) return; if(*begin == '\0') { cout<<str<<endl; return;

2016-07-25 17:16:40 340

原创 装饰者、适配器和外观模式详解

设计模式中,装饰者、适配器和外观模式这三种模式运用的比较多,但三者有一定的相似性,所以比较不好区分,今天我就来详细谈谈这三个模式。1、装饰者模式     《设计模式》上的定义为:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案,装饰者模式的关键点是装饰者和被装饰者对象有相同的超类型,所以可以在任何需要原始对象的场合用装饰过的对象代替它。装饰者可以在所委托被装饰者

2016-07-21 21:16:34 978

原创 剑指offer二叉树等的操作(第四章)

今天把剑指offer第四章的内容学习了遍,按照自己的理解,编写代码如下:#include #include #include #include #include using namespace std;//面试题21:包含min函数的最小栈templateclass my_stack{public: void push(T t) { if(s1.empty

2016-07-21 17:13:31 670

原创 红黑树的插入操作详解(插入调整)

c++标准库中STL的关联容器(set、multiset、map、multimap)都是用的红黑树作为底层代码,而且红黑树在快速查找的结构里面用的比较多,想比于平衡二叉树,红黑树没有那么严格的限制条件(平衡二叉树要求结点的深度之差不超过1,而红黑树则没有这个限制),虽然红黑树是一种弱化的AVL树,但在数据查找效率方面依然不必AVL差,而且由于AVL的平衡条件要求比较严格,所以,当插入一个数据时,极

2016-07-20 20:16:13 1154

原创 C++四种常用的类型转换机制

在C语言中,我们常常使用 (type)expression 这样的语句来把expression表达式强制转换为type类型的数据,而在c++中我们引用了四种类型转换操作符:const_cast,static_cast,dynamic_cast和reinterpret_cast;1、static_cast 的威力和c语言的旧式转型有相同的效果和相同的限制;2、dynamic_cast 将指向

2016-07-18 16:00:29 927

原创 剑指offer常用链表操作

剑指offer中有很多的关于链表的操作,现总结如下:(对于单向链表,由于不能回溯,故比双向指针要更稍微复杂些)#include #include using namespace std;//单链表的数据结构struct List_node{ char data; List_node *next;};class List_solution{public: //创建链表

2016-07-16 17:04:15 490

原创 mysql中char和varchar的区别

数据库中用的最多的还要数字符的操作的了,mysql中两个比较重要的数据类型:char 和varchar,两者在使用的时候还是有区别的:1、首先,char型的数据是定长度的,当我们定义一个数据类型时:name char(5) ,表示name这个变量时刻是占用5个字节,但如果我们用name varchar(5) 来定义是表示最大长度为5,但实际可能占用不到这么多,因此varchar相对于char来

2016-07-13 16:04:58 583

原创 c++重载与模板

一、 模板是泛型编程的重要支持,函数和类模板在STL中运用的非常广泛,首先谈谈c中的函数重载和c++中的函数模板的区别:1、首先,函数重载是函数名相同,但参数个数和类别不同,如果增加参数个数和参数型别就要重新编写相应的重载函数,而相对于函数模板就比较灵活,我们只要编写一个函数模板,编译器在编译是就会根据参数类型特例化出相应的版本,而且模板支持可变参数(template,..代表0个或多个参数)

2016-07-12 19:48:05 3317 1

原创 重建二叉树

对二叉树有点了解的都知道,通过中序和任何遍历都可以唯一构建好一个二叉树,所以我们可以以中序和前序为例,来重建一棵二叉树:#include using namespace std;struct tree_node //树节点的结构体{ int m_data; tree_node *m_cright; tree_node *m_cleft;};class solution{

2016-07-09 15:15:17 398

原创 deque 迭代器失效的问题详解

今天在看STL源码的时候,无意写了如下的代码,发现程序崩溃了: deque::iterator iter=d.begin(); d.insert(iter,5); d.insert(iter,6); //崩溃,迭代器失效了之前一直没有留意这个问题,后来结合源码和查找资料,得到如下的结论:插入操作:1、在队前或队后插入元素时(push_back(),pus

2016-07-04 21:58:48 5521 4

原创 c++类成员变量的初始化顺序以及特殊成员的初始化方法规则

说到类的成员变量的初始化顺序,对于初学者很多容易混淆其顺序,以为简单的按初始表来初始化,其实不然,现在我来详细讲解下类的初始化顺序:首先由简单开始:class people{public: people():j(1),i(j) { }public: int i; int j;};这个类的初始化结果是什么?也许有人会说结果为:先初始化j=1,再用j初始化i=j=1;所以最

2016-07-03 15:43:09 1593 1

原创 设计模式:单件模式

保持单一对象有时非常必要,尤其是资源类,比如窗口资源,注册表等等,所谓的单件模式的定义是:确保一个类只有一个实例,并提供一个全局的访问点。其类图虽说比较简单,但单例模式还是有很多陷阱的。      首先,给出单例模式的经典的懒汉式写法:(懒汉式:需要实例对象时才创建,延迟创建)class single{ private static single uniqueinstance;

2016-07-02 15:49:16 362

空空如也

空空如也

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

TA关注的人

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