- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 排序算法之归并排序
1、算法:归并排序(Mergesort)是一种概念上最为简单的排序算法,该算法的性能很好,采用分而治之的思想,把待排序的列表分成片段,先处理各片段,再通过某种方式把片段重组。当归并排序算法为一个数组排序时,如果把归并结果放到另一个数组中,那么归并过程很简单。但是,这将使得归并排序的空间代价为原本的两倍,这是归并排序的严重缺陷。为避免每一次归并都使用一个新数组,可把排序好的子数组首先复制到辅
2017-11-09 15:55:01
288
原创 顺序表的实现
#includeconst int defaultsize=100;templateclass AList{private: E* listArray; int size; int curr; //position of current element int maxSize; //maximum size of listpublic: AList(int s=defau
2017-11-05 16:19:28
259
原创 二叉检索树
1.二叉检索树的属性:对于二叉检索树的一个值为K的结点,该结点左子树中任意一个结点的值都小于K;该结点右子树中任意一个结点的值都大于或等于K。如果按照中序遍历将各个结点打印出来,就会得到由小到大排序的结点2.部分方法解释:2.1 find:如果树T为空,返回false;如果存储在T中的项为it,返回true。若以上两种情况都不成立,就对T的一个子树进行递归调用2.2 insert:
2017-10-25 21:02:03
667
原创 POJ1012 Joseph
原题:DescriptionThe Joseph's problem is notoriously known. For those who are not familiar with the original problem: from among n people, numbered 1, 2, . . ., n, standing in circle every mth is
2017-10-12 22:38:57
355
转载 HDU 1010:Tempter of the Bone
问题描述:一条小狗在一个迷宫里发现了自己喜欢的骨头,当它捡起骨头时,迷宫开始摇晃,这条小狗感受到地开始下沉,它意识到这个骨头是一个陷进,于是它开始尽力逃出迷宫。迷宫是一个N*M的矩形,迷宫里有一扇门,这扇门在时间T秒时开启,并且开启的时间小于一秒,因此这条小狗应在T时到达门处,每一秒,它可向上下左右四个方向移动一个位置,当它到达某个位置时,这里会开始下沉并在一秒后消失。输入:第一行
2017-09-14 20:47:13
292
原创 AOJ0118 Property Distribution(DFS)
题意:在H * W的矩形果园里有苹果、梨、蜜柑三种果树, 相邻(上下左右)的同种果树属于同一个区域,给出果园的果树分布,求总共有多少个区域。输入:多组数据,每组数据第一行为两个整数H,W(H 输出:对于每组数据,输出其区域的个数。
2017-09-05 23:46:39
332
原创 排序算法之插入排序
1. 算法:插入排序(insertion sort)是最简单的排序算法之一。插入排序由N-1趟排序组成,对于P=1到P=N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态。下图显示一个简单的数组([ 34,8,64,51,32,21])在每一趟插入排序后的情况:代码块:templatevoid insert_sort(vector&a){ int p,x,j; f
2017-08-17 12:23:05
228
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人