- 博客(9)
- 收藏
- 关注
原创 C++十大设计模式(易懂)
单例模式:单例模式:确保一个类只有一个实例,并且这个实例化向整个系统提供(例如只有一台打印机,可以有多个打印任务队列,但是只能有一个正在打印)。单例模式又分为(饿汉模式,懒汉模式)两种饿汉模式:程序运行即创建对象并实例化,静态实现所以线程是安全的懒汉模式:创建对象不实例化,需要的时候才实例化,线程不安全需要(加锁)工厂模式:建立对象的类就如一个加工厂,建立对象就如一个产品,使用产...
2018-12-18 20:33:24 11383
原创 设计模式-工厂模式(简单,工厂方法,抽象)
工厂模式建立对象的类就是一个工厂,被建立的对象就是一个产品,在工厂中加工产品,不用在乎产品如何产生。降低模块耦合。工厂模式分类包括 简单工厂模式,工厂方法模式,抽象工厂模式。1简单工厂模式由工厂对象决定创建哪一个产品类的实例,这些产品类(继承自父类或接口)。例如:一个工厂生产A,B两种产品,当客户需要那种产品就告诉工厂。缺点:当新增加一种产品的时候,就要去修改工厂的类//实现方法:...
2018-12-18 20:05:55 176
原创 Mysql数据库 索引的原理和优化
本文主要讲述了如何加速动态网站的MySQL索引分析和优化。参考原文 https://www.2cto.com/database/201707/660712.html一、什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,如果作为搜索条件的列上已经创建了索引,MySQL无需...
2018-12-17 12:07:55 200
原创 系统内存不足的处理方案?
当operator new没有能力申请到所需要的空间时,通常会丢一个exception(异常类)打印出信息。常见的 C 习惯做法:定义一个与型别无关的宏,用来配置内存,并做检查,以确定配置成功。对于C++而言的宏如下#define NEW(PTR,TYPE) try{ (PTR)=new TYPE;} catch(std::bad_alloc&) { assert(0); }...
2018-12-17 10:26:05 646
原创 面试总结:B树,B+树的原理及区别
之前在网上看到过一些B树与B+树的区别然后主要是针对定义来陈述,分分钟看的我快要冬眠,然后在一次面试遇到该没问题没回答上来一首凉凉送 给自己,今天老老实实的分享自己对B树,B+树浅显理解,若望指出不足。B树的原理动态查找树主要包括:二叉搜索树,平衡二叉树,红黑树,B树,B-树时间复杂度O(log2N),通过对树高度的降低可以提升查找效率尤其是在大量数据进行存储的时候会存储到外部 磁盘,通过对...
2018-12-08 18:58:32 27350 2
原创 剑指offer 树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)class Solution{public: bool Hassubtree(TreeNode* root1, TreeNode* root2) { if (root1 == nullptr || root2 == nullptr) //约定树2不为空 return false; /...
2018-12-08 15:28:09 107
原创 leetcode104二叉树的最大深度,
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],class Solution{public: int Maxsize(TreeNode* root) { if (root == nullptr) return 0;...
2018-12-08 15:24:08 197
原创 剑指offer 二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。//二叉树的镜像struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;}; class Solution {public: void Mirror(TreeNode *pRoot) { if (pRoot == nullptr) re...
2018-12-08 09:56:02 141
原创 leetcode107 二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],struct TreeNode{ int val; TreeNode* left; TreeNode* right;};class Solution {public: vector<vector...
2018-12-08 09:18:53 283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人