自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据处理问题

首先让我们明确一下内存之间的换算:1> 1Byte=8bit2>1KB=1024Byte=1024*8 bit3>1MB=1024KB=1024*1024Byte=1024*1024*8bit4>1G=1024MB=1024*1024KB=1024*1024*1024Byte(大约一亿个字节)=1024*1024*1024*8bit1)给一个超过100G大小的log f

2017-04-29 14:35:35 574

原创 stat对文件的操作的三个时间

Linux中的stat是用来显示文件信息的,首先让我们来看一下他都显示了什么信息。 建立一个test.c文件,用stat来查按文件的一些信息: 其中,我们看到了一些有关事件的东西,其中包括3种时间信息 1>Access:文件最后一次被访问的时间 2>Modify:文件最后一次被修改的时间 3>Change:文件的属性最后一次被修改的时间,比如文件的权限,大小等属性 touch -a

2017-04-20 21:22:12 601

原创 哈夫曼树应用——文件压缩

1.哈夫曼树的简介: 哈夫曼树(Huffman tree),又名最优树,指给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。 2.哈夫曼树的构造方式如下: 比如说有一组数,1,4,3

2017-04-16 22:57:39 4327 3

原创 atexit函数解析

进程终止的方式有8种,如下所列出,其中前5种是正常的终止,后三种是异常的终止: 1.从main函数返回 2.调用exit函数 3.调用_exit函数或者_EXIT函数 4.最后一个线程从启动历程返回 5.最后一个线程调用pthread_exit 6.调用abort函数 7.接到一个信号并终止 8.最后一个线程对取消请求做出响应 exit()和_exit()以及_Exit()函数的

2017-04-16 13:46:15 339

原创 平衡二叉搜索树——红黑树

1.红黑树的简介 红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位_color来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单 路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。红黑树没有达到AVL树的高度平衡,换句话说,它的高度,并没有AVL树那么高的要求,但他的应用却更加的广泛,实践中是相当高效的,他可以在O(log2 n)的时间内做查

2017-04-12 16:07:57 301

原创 平衡二叉搜索树——AVL树

1.AVL树的定义 AVL树又称为高度平衡的二叉搜索树,是1962年有俄罗斯的数学家G.M.Adel’son-Vel’skii和E.M.Landis提出来的。它能保持二叉树的高度 平衡,尽量降低二叉树的高度,减少树的平均搜索长度。 2.AVL树的性质 (1) 左子树和右子树的高度之差的绝对值不超过1 (2)树中的每个左子树和右子树都是AVL树 (3)每个节点都有一个平衡因子(balanc

2017-04-12 11:42:08 420

原创 二叉搜索树

二叉搜索树满足以下性质: 1. 每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2. 左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3. 右子树上所有节点的关键码(key)都大于根节点的关键码(key)。 4. 左右子树都是二叉搜索树。二叉搜索树可以进行插入、查找、删除等操作,现在以非递归方法实现下列操作:#pragma once#inclu

2017-04-12 10:31:22 199

原创 树&&二叉树

1.树的基本概念 树是一种非线性的数据结构,是由n(n>=0)个有限个数据的元素集合,形状像一颗倒过来的树。就像是这样: 树是由唯一的根和若干互不相交的子树组成的。其中的每一颗子树又是一棵树,也是由唯一根节点和互不相交的子树构成。因此,树的定义是递归的。值得注意的是,当一颗树没有节点时,称这棵树为空树。 2.关于树的一些相关术语 (1)节点:结点包含数据和指向其它节点的指针。 (2)根节点

2017-04-12 10:04:42 305

原创 map应用-统计K个最喜欢的水果

一共写出了3种方案,都是用map实现的,方案三利用了[]的重载机制,统计出每个水果出现的次数之后,建堆,进行排序#include <iostream>#include <map>#include <vector>#include <algorithm>#include <string>using namespace std;//统计水果出现的次数struct Max{ boo

2017-04-11 16:35:41 320

原创 map,multimap,set,multiset

map和set我们之前介绍过了,现在通过对比说明一下map与multimap,set与multiset首先map的插入操作,不能插入已经存在的键值,若插入已经存在的键值,则插入无效,可应通过相应的办法来解决:void TestMap(){ map<string, string> dict; //[]能修改已存在键值的实值 dict["left"] = "左边"; d

2017-04-11 12:56:35 309

原创 堆的介绍与应用

堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。 堆结构的二叉存储分为2种形式,分别是最大堆和最小堆,最大堆就是每个父节点的值都大于或等于孩子节点的值,最小堆刚好与之相反,每个父节点的值都小于或等于孩子节点的值。 用以下代码实现一个堆,默认情况下是大堆的形式:#include <iostream>

2017-04-10 21:20:30 373

原创 简单进度条的实现

首先让我们先来看进度条实现的代码:#include <stdio.h>#include <unistd.h>#include <string.h>int main(){ char bar[102]; memset(bar,0,102*sizeof(char)); char s[]="|/-\\"; bar[0]='\0'; int i=0; while(i<=100)

2017-04-08 17:07:04 515

空空如也

空空如也

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

TA关注的人

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