博客专栏  >  编程语言   >  c/c++

c/c++

厚积薄发~

关注
3 已关注
79篇博文
  • Python中的模块学习之mock模块

    学习Python也有一段时间了,然而对Python中的单元测试模块这些并不是很懂,刚好,今天有点时间,就将mock模块进行学习并整理,下边进行分享:先来看一下本文的整体框架: 为什么要使用mock?...

    2017-08-10 23:31
    328
  • LZW压缩算法

    1.LZW压缩适用的场景:      对于有大量重复出现的字符或者字符串,可以将重复出现的多个串用一个字符表示,并写进文件。比如可以压缩这个字符串:“TOBEORNOTTOBEORTOBEORNOT...

    2017-03-07 14:46
    559
  • 【C++】浅析C++中的对象模型

    以下代码运行环境:windows8.1 32位 VS2015 (一)不含有虚函数的单一继承模型: 测试代码: //单一继承,无虚函数 class A { public: A(i...

    2017-02-06 21:26
    351
  • 【leetcode】单链表的插入排序

    单链表的直接插入排序排序思想跟数组的插入排序的思想是一样的。但是这里涉及到链表的插入删除等等,一些操作,实现起来还是稍微麻烦的。 链表的直接插入: 情况1:当前结点的值大于上一个结点的值,不用处理...

    2017-01-04 19:43
    511
  • 虚继承

    1.菱形继承:   1>继承模型:   2>代码测试并查看内存模型 #include using namespace std; class A { public: A(int...

    2016-12-18 14:28
    522
  • 空间配置器(二)

    提前声明:这个文章本来应该命名为空间配置器(一)的,也就是说,这篇文章应该诞生于上篇文章 之前的,然而,由于本人的原因,造成这样的失误。 最近一直在读《STL源码剖析》的第2章节,在讲述空间...

    2016-12-12 21:01
    421
  • 空间配置器(一)

    1.空间配置器概述: 空间配置器就是为了给要执行的作业提供内存资源或者硬盘或者其他辅助资源。 c++的内存配置的基本操作是::operator new(),内存释放的基本操作是::operator...

    2016-12-09 22:23
    374
  • 简易内存池的实现

    1.内存池的引入      实际运用当中,如果我们需要申请一块空间,我们一般都会new一块空间(在c语言里会用到malloc),我们知道他们两个的共同点就是在堆上申请空间,堆上的空间会比栈上的大一些...

    2016-12-06 12:44
    569
  • 判断给定的序列是否是一棵BST的后序遍历序列

    给定一个序列 ,判断该序列是否是一棵二叉搜索树的后序遍历序列。 比如: 我们知道,后序遍历的最后一个元素就是根节点,前边比它小的都位于根的左子树上,比它大的都位于根的右子树上。所以,对...

    2016-12-03 17:24
    385
  • 二叉树中和为给定值的路径

    找到二叉树中和为给定值的路径,其实核心还是求出二叉树的路径,如果路径上的值不满足条件,则说明,这条路径不是我们需要的。 【实现代码】 //找和为某一值的路径 template st...

    2016-12-02 17:43
    243
  • 图的存储以及遍历

    图中的容易混淆的几个重要的概念: 完全图:有n(n-1)/2条边的无向图 称为完全图。 有向完全图:具有n(n-1)条边的有向图称为有向完全图。 稀疏图:边数比较少的图。 稠密图:边数比较多的...

    2016-12-01 17:12
    412
  • 排序算法(八)归并排序

    归并排序是利用归并的思想将一组数据进行排序。它是一种外部排序(可以对那些在磁盘上的大数据进行排序)。下边进行图解。 【代码实现】 //归并排序 void Merge(int* a,...

    2016-12-01 12:17
    290
  • 二叉树面试题

    1.求二叉树中最远的两个结点的距离: 思路:对于某个结点,求出其左边的高度和右边的高度,然后加起来,最后选择最大的距离就行。核心代码如下: size_t _GetMaxDistance(Node...

    2016-11-30 20:32
    428
  • 排序算法(七)海量数据的排序问题

    前边几篇文章,整理过各种各样的排序,但是那些排序都是只能在内存中进行排序,而如果给大量的数据(内存中无法容纳),要给这些数据进行排序,我们就需要借助于一种外排序----归并排序(之后的文章详细介绍)。...

    2016-11-27 22:19
    752
  • 求一棵二叉树的镜像

    求一棵二叉树的镜像      二叉树的镜像就是将二叉树的左右子树都交换位置得到的一棵二叉树。所以我们可以通过递归来解决。 下边给出代码实现: void _Mirror(Node* root) ...

    2016-11-26 11:24
    414
  • 排序算法(六)非比较排序----计数排序和基数排序

    前边的几篇文章介绍的几种排序算法都是比较排序,接下来的文章将会介绍两种非比较排序。 计数排序: 计数排序通过哈希的方法将一组数据映射到一个数组里,最后将数组中的数依次读取,并写进原来的数组,读出的...

    2016-11-25 19:06
    346
  • 【操作系统】学习笔记(三)基于时间片轮转的进程调度算法

    本文主要用来分享基于时间片轮转的进程调度算法,但是在分享之前,我还是先来整理一下关于进程调度的基本理论。  调度是决定或者安排事物发展次序的策略。进程的调度就是决定哪个进程来使用处理机。 操作系统...

    2016-11-23 20:58
    831
  • 排序算法(五)快速排序多种版本

    快速排序 ,就像它的名称一样,是时间复杂度比较低的一种排序算法。      我们知道,快速排序是通过分治的方法,将一个大的区间划分成小区间(找一个枢纽,将大的数放置在枢纽的右边,小的数放置在枢纽左...

    2016-11-22 21:23
    970
  • 排序算法(四)选择排序及优化版本

    选择排序,是通过每次选择最小的数或者最大的数,然后将它放在它应该出现的位置上。 具体实现过程:将0号下标的数据保存,在之后的数中选择一个最小的数,如果最小的数不是0号数,则将最小的数与0号下标的数进...

    2016-11-20 13:40
    1688
  • 排序算法(三)从直接插入排序到希尔排序

    在前边的文章(排序算法系列)中,我们已经介绍过几种排序 算法:冒泡排序、选择排序、直接插入排序、堆排序。直接插入排序 和希尔排序 都是插入排序系列。下边,我们再次以图片的形式解读直接插入排序,以便更好...

    2016-11-17 17:07
    464

刷题
2410646
linux学习
1611849
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部