自定义博客皮肤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)
  • 收藏
  • 关注

原创 二叉树经典面试题

求二叉树中最远的两个节点的距离,对于这样一个题经过画图分析总体来说有一下几种情况:分析:我们可以考虑递归算法,进行后续遍历的同时,将每一个节点左右子树的距离通过传引用的方式将其带回,如果当前节点的左右子树距离大于前一节点的左右子树距离,那么就更新这个distance.代码实现:templatestruct BinaryTreeNode{ Binar

2016-11-28 08:58:01 987

原创 计数排序

计数排序是一种费比较的排序算法,它的思想其实很简单,就是先开辟一块空间用来存放数据出现的次数,然后就要统计出数据出现的次数,并将其放在对应的位置下标上,最后我们可以根据统计的次数依次还原出来就有序了,如下图分析:代码实现:void CountSort(int* a,int n){ assert(a); int max=a[0]; int min=a[0]; //1.先统计

2016-11-27 13:26:19 341

原创 归并排序

归并排序(MergeSort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序,它采取分而治之(Divide-and-Conquer)的策略,时间复杂度是O(N*lgN)。归并排序的步骤如下:1. Divide: 把长度为n的输入序列分成两个长度为n/2的

2016-11-27 11:32:01 349

原创 快速排序的几种方法及其优化

快速排序的整体思想是分治的思想,也就是说首先对一个大区间进行单趟排序,然后将大区间又进行分割,然后再进行单趟排序,直到这个区间剩下单个元素就不再分割了,小区间有序了返到上一层大区间就有序了,也就是递归思想。下面是一个快排的动图:根据以上分析,单趟排序是将复杂问题简单化的关键,下面就来分析一下单趟排序的几种方法:1.左右指针法步骤可分为:(1)选择一个关键字,可通

2016-11-27 08:59:06 850

原创 几种常见排序及优化版本

排序算法是很常见的当然也是相当重要的算法之一,排序又分了好几种算法,在不同的场景下我们应该明白如何去选择用哪一种,而这就要综合很多种因素,包括时间,空间复杂度以及所给数据的具体情况,这里就先来介绍一下算法的分类:1.冒泡排序这种排序应该是我们接触最早的,它的思想就是:比较相邻的两个关键字,如果反序则交换,直到没有反序的记录为止。如果我们有n个元素,那么需要进行n-1趟的冒泡

2016-11-20 18:20:45 419

原创 哈希表的构造之开链法

前面总体介绍了一下有关哈希算法(哈希表如何构造,怎样减少哈希冲突等):http://blog.csdn.net/qq_29503203/article/details/52992810今天主要来实现一下哈希表的构造之开链法,这种方法可以将负载因子延伸到1,即_size==_tables.size(),这样对空间的利用率提高了许多,首先来看一下它的原理:下

2016-11-08 13:16:51 684

原创 哈希表的构造之线性探测法

散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列

2016-11-08 12:24:50 6587

原创 huffman算法实现文件的压缩与解压

本文采用哈夫曼编码的方式进行文件的压缩和解压缩,主要原理是通过huffman编码来表示字符,出现次数多的编码短,出现次数少的编码长,这样整体而言,所需的总的bit位是减少的。但是当大部分字符出现的频率都差不多时,huffman压缩的压缩率就会很低。一.利用哈夫曼编码压缩文件,主要分为两部分:1.压缩文件主要步骤:(1).统计出文件中各个字符出现的次数;(2)

2016-11-05 11:04:28 10830 1

空空如也

空空如也

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

TA关注的人

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