自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 问答 (1)
  • 收藏
  • 关注

原创 二叉树的五道面试题

1、判断一棵树是否是完全二叉树;2、求二叉树中最远两个结点的距离;3、由前序和中序遍历序列重建二叉树 (前序序列:1 2 3 4 5 6 - 中序序列:3 2 4 1 6 5);4、求二叉树两个结点的最近公共祖先;5、将二叉搜索树转化成有序的双向链表;判断一棵树是否是完全二叉树要想判断一颗树是否是完全二叉树,你得先知道什么是完全二叉树。完全二

2016-11-30 10:14:42 6139 2

原创 非比较排序-----计数排序,基数排序。

排序总归来说可分为两大类,比较排序与非比较排序。比较排序就是我们常用到的冒泡排序,插入排序,希尔排序,选择排序,堆排序,快速排序,归并排序。非比较排序不常用,但是在对一些特殊的情况进行处理时,它的速度反而更快。1、计数排序  排序原理:利用哈希的方法,将每个数据出现的次数都统计下来。哈希表是顺序的,所以我们统计完后直接遍历哈希表,将数据再重写回原数据空间就可以完成排序。注意事项

2016-11-26 21:35:04 3213 1

原创 【STL】从源码看map

map与set相同,map同样是以红黑树RB_Tree为底层机制的关联式容器。map的每一个元素都拥有两个值,一个键值(key)和一个实值(value)。它的内部实现是用一个pair来保存这个两个值。所以,map的每一个元素又是一个pair。下面是STL源码中stl_pair.h对pair的定义。template struct pair { typedef T1 first_type

2016-11-15 21:04:27 4684

原创 【STL】Heap算法——push_heap、pop_heap、sort_heap、make_heap

C++STL算法提供make_heap, push_heap和pop_heap等算法,它们作用于随机存取迭代器。它们将迭代器当做数组的引用,并做出array-to-heap的转换。STL中默认这个算法为最大堆(max_heap)。make_heapmake_heap 的功能是将一段现有的数据转化成一个heap(堆)。默认状态下,它会生成一个最大堆结构,我们也可以自己定义为最大堆或者最小堆。

2016-11-13 19:27:13 2875

原创 【STL】set和multiset的初步认知

set/multiset是一个集合容器,我们可以对这个容器进行插入,删除,查找等工作。set的元素内容只有一个键值(key,key和value为同一个值),不允许重复冗余,当对它插入一个已经存在的元素时,它会自动忽略。set/multiset的底层是用红黑树(RBTree)实现,拥有平衡二叉搜索树的结构,所以在进行检索时,效率会很高。而正因为它是一颗红黑树结构,当我们顺序遍历它时,序列是有序的。我们

2016-11-13 14:07:10 1699

原创 【面试题】海量数据面试题分析

海量面试题的条件一般都要求我们处理一批计算机内存放不下的数据。当我们遇到这种面试题时,常有以下几种思想: 1. 哈希切分 哈希切分就是将一个大文件,利用哈希的原理,将其分为若干个小文件。相同的数据都被分到同一个文件里。例如我有一个存放着100亿个整数的大文件,将其分为100个小文件。将每个数都模100,结果相同的数存放到一个文件里。如果这100亿个数理想均匀,则每个小文件大约为1亿个数。

2016-11-09 22:11:23 995

原创 你知道汇编与反汇编的区别吗?

本人不才,小白一枚,今天在看书的过程中被汇编、反汇编这两个词搞懵了。赶紧用了搜dog,发现讲的都不是很清楚,这里说一下我的总结。有什么不对的大家见谅。汇编、反汇编这两个词可做动词,可做名词。我们先看一个图,一个c程序如何变成一个可执行程序。 (PS:这个图主要为下面讲解用,具体不再讲解,感兴趣的自行查询)汇编动词,指的是把汇编语言翻译成机器语言的过程。 就是图中hello.s文件经过汇编器

2016-11-06 18:28:13 19456 2

原创 【c++/数据结构】哈希表

哈希表哈希表(HashTable)又叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 哈希表的做法其实很简单,就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字。把这个整型数字作为元素的下标存入数组(散列表),我们常用的算法有以下几

2016-11-06 14:19:23 2434

空空如也

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

TA关注的人

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