清泉逐流

做着努力,等待幸福到来
» 我的笔记

卡兰特数

时间 : 2014-09-06 15:32 分类 : 算法

Eugene_charles_catalan卡特兰(1814~1894)比利时数学家

先由一个问题引出卡特兰数。

查看全文 »

几个排序算法的汇总

时间 : 2014-08-27 23:10 分类 : 算法

直接插入排序

Shell排序

直接选择排序

堆排序

冒泡排序

快速排序

归并排序

基数排序

查看全文 »

拓扑排序算法

时间 : 2014-08-18 20:35 分类 : 算法

所谓拓扑排序,指的是在一个有向的无环图中,对图中所有的节点进行排序。

在游戏画面中,不同人物场景的重叠关系,就涉及到绘图顺序。场景中每个对象都可以想象成为图中的一个节点,其层叠顺序就是一个有序的无环图结构。

下面的图,就是一个有序的无环图。

查看全文 »

Non-comparison sorts: Radix sort

时间 : 2014-08-05 22:11 分类 : 算法

也就是基数排序,分为LSB和MSB排序两种方法;

以前,接触到的排序基本上都是通过比较数值的大小,来进行排序的。

今天看到了一种新基数排序,是按照“分配”和“收集”来进行排序。

数组序列:

23 54 43 53 42 33 87 65 20 25

先按照个位数进行分配:

0 | 20

查看全文 »

幂运算

时间 : 2014-08-05 22:09 分类 : 算法

通常情况下,我们在进行幂运算的时候,可以进行这样的定义函数。

long int pow( long int x, unsigned int n ) { long int ret = 1; unsigned int i; for ( i=0; i<n; i++ ){ ret *= x; } return x; }

这个函数看起来很简单,但是时间复杂度为O(N)。

查看全文 »

最大子序列和问题

时间 : 2014-07-31 17:58 分类 : 算法

问题描述

输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:

序列:-2 11 -4 13 -5 -2,则最大子序列和为20。

序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。

查看全文 »

图的存储结构

时间 : 2014-06-23 22:53 分类 : 算法

1.图的邻接矩阵(Adjacency Matrix)存储表示法 设图 A = (V, E)是一个有 n 个顶点的图, 图的邻接矩阵是一个二维数组 A.edge[n][n],用来存放顶点的信息和边或弧的信息。

定义为:

(1) 无向图的邻接矩阵是对称的;有向图的邻接矩阵可能是不对称的。

查看全文 »
» 笔记大类