自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU - 2147 巴什博弈(必败点和必胜点)

先解释一下必败点和必胜点: 必败点P:前一个选手取胜的位置,即谁先走到这个位置谁赢。 必胜点N:后一个选手取胜的位置,即谁先走到这个位置谁输。对于P-N表格,我们采用从终点往前推导的方法,因为,终点必定是必败点,终点不同,则必败点的位置不同,P-N表格的也不相同。P-N表格有以下三个属性: 一:终点必定是必败点(P点)。因为在终点时,已经没办法走了,那么就是从前一个位置进入这个位置的...

2018-05-30 17:18:48 2906

原创 哈夫曼树以及哈夫曼编码

哈夫曼树又叫最优二叉树,即叶子结点带权路径长度之和(WPL)最小。 关于哈夫曼树有在以下链接中的作者解释的很详细,不太清楚的同学可以去看一下。 https://www.cnblogs.com/zhangming-blog/p/5395950.html 下面我想补充下下哈夫曼编码,哈夫曼编码又称霍夫曼编码,或者最优编码。

2017-12-03 12:59:30 1127

原创 最小堆

最小堆是堆的两种形式之一,与最大堆结构类似,不过最小堆中任意结点都是左右子树中的最小值,代码实现和最大堆类似。在上一片博客中已经介绍过最大堆,所以在这里不再赘述。此为链接:最大堆 以下为代码实现:#include<stdio.h>#include<malloc.h>#define ElementType int#define MaxData -99999 //哨兵#define MaxSi

2017-12-02 13:47:45 496

原创 最大堆

最大堆是堆的两种形式之一,主要有以下几个特点: 一:是一棵完全二叉树; 二:根结点是堆中的最大值; 三:任意结点都是左右子树中的最大值。 最大堆的操作主要有下列三种: 一 创建:创建一个最大堆,关于最大堆的创建有两种方法,一种是将每个元素逐个插入堆中,时间复杂度为O(NlogN)。另外一种是先将元素按输入的顺序放进开辟的数组中,然后将数组调成最大堆,时间复杂度为O(N)。下面的代码实现采

2017-12-02 13:27:59 414

原创 求最大子列和

给定一个含有N整数的序列,求其最大子列和(即该序列中一段连续子序列和的最大值)。 大致思路是:定义一个当前位置之前的序列和的最大值(maxSum)以及当前子序列的和(thisSum),每迭代一次比较二者的大小关系,如果maxSum小于thisSum,则更新maxSum,否则继续遍历。当thisSum<0时,需要将thisSum重置为0,即求下一段子序列的和。

2017-11-26 18:29:08 311

原创 两个单链表的合并(C语言实现)

单链表的合并还是挺简单的,直接上代码吧。

2017-11-26 17:56:30 34292

原创 判断两个二叉树是否相同(c++递归实现)

判断两棵二叉树是否为同一棵树,需要比较两个方面: 一:结构是否相同; 二:每个节点上的元素是否相同; 当二者都满足的时候才可判定二者为同一棵二叉树。 结构相同包括节点的个数以及每个节点上的子树相同。

2017-11-26 12:43:49 5538

空空如也

空空如也

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

TA关注的人

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