自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr__Brown的博客

在0与1的深渊中前行的小菜鸟

  • 博客(8)
  • 收藏
  • 关注

原创 Huffman树

Huffman树Huffman树,又称为最优二叉树,是加权路径长度最短的二叉树构建Huffman树选当前权值最小的两个结点,构建一个父亲结点,形成一颗树;该树父亲节点的权值是,左孩子和右孩子权值的和;将构建的父亲节点的权值扔回,和剩余结点做比较,在选两个权值最小的,构成树最终形成一颗树,叫Huffman树树的特点每个节点的权值是,以该节点为根节点的树,中所有叶子节点权值的和权值越小,深度越深(编码...

2018-03-21 17:27:25 237

原创 BinarySearchTree-二叉搜索树

二叉搜索树的性质:每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。左子树上所有节点的关键码(key)都小于根节点的关键码(key)。右子树上所有节点的关键码(key)都大于根节点的关键码(key)。左右子树都是二叉搜索树。非递归bool insert(const T& key)bool Insert(const T& key) { if (_root...

2018-03-21 17:22:52 221

原创 heap(堆)的实现

堆堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。堆结构的二叉树存储是最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩子节点。堆的特点:堆顶元素为最值(大堆最大,小堆最小)。具体实现实现一个堆涉及两个算法,分别是向下调整算法AdjustDown(root),和向上调整算法AdjustUp(chaild)。下面开始介绍这两个算法1、AdjustDown(root)作用是将以...

2018-03-14 21:16:06 341

原创 用string剖析浅拷贝、深拷贝、写时拷贝

一、浅拷贝对于普通变量来说,它们之间的互相赋值很简单:int  a=1;int b=2;a=b;但是对类对象来说存在深浅拷贝问题:浅拷贝就是值拷贝!示例:class String{public : String(const char* str) : _str(new char [strlen(str )+1])

2017-09-02 18:54:31 303

原创 虚函数&多态

一、虚函数和多态·什么是虚函数?类的成员函数前加上virtual关键字,则这个成员函数就是虚函数。·什么是虚函数重写?        当在子类中定义了一个与父类完全相同的(名字相同,参数相同)的虚函数时,则称子类的这个函数重写(也称覆盖)了父类的这个虚函数。·什么是多态?       使用基类的指针或引用调用重写的虚函数时,当指向父类调用的就是父类的虚函数,

2017-08-31 20:12:14 591

原创 多种情况下多态的对象模型

首先来看一下几个概念:·什么是虚函数?类的成员函数前加上virtual关键字,则这个成员函数就是虚函数。·什么是虚函数重写?        当在子类中定义了一个与父类完全相同的(名字相同,参数相同)的虚函数时,则称子类的这个函数重写(也称覆盖)了父类的这个虚函数。·什么事多态?       使用基类的指针或引用调用重写的虚函数时,当指向父类调用的就是父类的虚

2017-08-06 21:24:32 310

原创 剖析C++是如何解决菱形继承的二义性和数据冗余的

1.首先我们来解释一下二义性和数据冗余是如何产生的。         我们知道在C++中继承分单继承和多继承,单继承就是一个子类只有一个直接父类,而多继承是一个子类有两个或       两个以上直接父类。                                                                           如上图所示多继承,构成菱形继承

2017-08-04 00:13:05 615

原创 大小写字母转换

要求: 如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。#include int main(){int ch = 0;printf("请输入一个字母:\n");while ((ch = getchar()) != EOF){if ((ch >= 'A') && (ch {

2017-04-05 21:43:26 610

空空如也

空空如也

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

TA关注的人

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