自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (5)
  • 收藏
  • 关注

原创 B-树

M阶B-树:一棵M阶B-树或者是一棵空树,或者是满足下列特性的M叉树: (1)树的根或者是一片树叶,或者其儿子数在2和M之间;   (2)除根之外的所有非终端结点的儿子数在éM/2ù和M之间;(3)所有的树叶都在相同的深度上所有的数据都存储在树叶上。在每一个内部节点上皆含有指向该节点各儿子的指针P1,P1,…Pm和分别代表在子树P2,P3,…Pm中发现的最小关键字的值K1,K2,…

2013-08-19 15:48:22 1031

原创 排序之归并、快速排序

归并排序归并排序以O(NlogN)最坏运行时间运行,而所使用的比较次数几乎是最优的,它是递归算法一个很好的实例。这个算法中基本的操作是合并两个已排序的表。因为这两个表示已排序的,所以若将输出放到第三个表中时则该算法可以通过对输入数据一趟排序来完成。基本的合并算法是取两个输入数组A和B,一个输出数组C,以及三个计数器Aptr,Bptr,Cptr,它们初始置于对应数组的开始端。A[Aptr

2013-08-12 19:34:21 846

原创 各种排序之插入、希尔、堆排序

算法插入排序是最简单的排序算法。插入排序有N-1趟排序组成。对于P=1趟到P=N-1趟,插入排序保证从位置0到位置P上的元素已为排序状态。插入排序利用了这样的事实:位置0到位置P-1上的元素师拍过序的。图1显示一个简单的数组在每一趟排序后的情况。图1:每趟后的插入排序如下代码实现了上述想法:void InsertionSort(ElementType A[], int N)

2013-07-29 20:02:29 980

原创 二项队列

虽然左式堆每次操作花费O(logN),这有效的支持了合并,插入和DeleteMin,但还是有改进的余地,因为我们知道,二叉堆以每次操作花费常数平均时间支持插入。二项队列支持所有这种操作,每次操作的最坏情形运行时间为O(logN),而插入操作平均花费常数时间。二项队列结构二项队列不同于左式堆和二叉堆等优先队列的实现之处在于,一个二项队列不是一棵堆序的树,而是堆序树的集合,即森林。堆序树中的每

2013-06-26 20:18:04 2368 1

原创 左式堆

简介设计一种堆结构像二叉堆那样高效的支持合并操作而且只使用一个数组似乎很困难。原因在于,合并似乎需要把一个数组拷贝到另一个数组中去,对于相同大小的堆,这将花费O(N)。正因为如此,所有支持高效合并的高级数据结构都需要使用指针。像二叉堆那样,左式堆也有结构性和堆序性。不仅如此,左式堆也是二叉树,它和二叉堆之间的唯一区别在于:左式堆不是理想平衡的,而实际上是趋向于非常不平衡。左式堆性质

2013-06-19 14:02:28 3996 4

原创 优先队列之二叉堆与d-堆

简介平时所说的堆,若没加任何修饰,一般就是指二叉堆。同二叉树一样,堆也有两个性质,即结构性和堆序性。正如AVL树一样,对堆的以此操作可能破坏者两个性质中的一个,因此,堆的操作必须要到堆的所有性质都被满足时才能终止。结构性质堆是一棵完全填满的二叉树,因为完全二叉树很有规律,所以它可以用一个数组表示而不需要指针。如下图所示,图2中的数组对应图1中的堆。

2013-06-18 20:11:42 1518

原创 散列表

简介散列表(Hash Table)的实现常常叫做散列(Hash)。散列是一种用于常数时间进行插入、删除和查找的技术。但是,那些需要元素箭任何排序信息的操作将不会得到有效的支持。因此,FindMin、FindMax以及以线性时间按排序将整个表进行打印的操作是散列表不支持的。理想的散列表数据结构只不过是一个包含有关键字的具有固定大小的数组。典型情况下,一个关键字就是带有相关值的字符串。把表的大

2013-06-03 20:47:17 957

原创 AVL树C语言实现

AVL树介绍AVL树是带有平衡条件的二叉查找树。这个平衡条件必须容易保持,而且它必须保证树的高度是O(logN)。AVL树其每个节点的左子树和右子树高度最多差1(空树的高度为-1),每个节点保留其高度信息。下图中,左边的图是AVL树,而右边的不是。节点插入当对一个AVL树插入节点后,只有那些从插入节点到根节点的路径上的节点的平衡可能被改变,因为这些节点的子树可能发生变化。当我们

2013-05-02 11:22:02 1854

原创 二叉查找树c语言实现

二叉查找树描述二叉查找树的性质:对于树中的每个结点X,它的左子树中所有关键字值小于X的关键值,而它的右子树中所有关键字大于X的关键值。由于树的递归定义,通常是递归的编写查找树的常用操作例程。对这些常用例程中,主要需要考虑的是插入和删除节点。下面将简要说明。(二叉查找树的平均深度是O(logN),所以一般不需要担心栈空间用尽。)Insert:为了将X插入到树T中,可以像用Find那样沿着树查

2013-04-30 15:20:37 1472 1

原创 队列——链表与数组实现(数据结构与算法分析C语言版)

链队列:一个链队列显然需要两个分别指向队头和队尾的指针(即头指针和尾指针)才能唯一确定。一般,为了操作方便,可以给链队列添加一个头结点,并令头指针指向头结点。由此,空的链队列的判决条件为:头指针和尾指针均指向头结点,如下图所示:头文件:queue.htypedef int ElementType;#ifndef _QUEUE_LIST_#define _QUEUE_LIS

2013-04-28 10:46:21 2704 1

原创 链表c语言实现

表是一种常用的数据结构,可以采用数组实现和链表实现。若采用数组实现,需要对表的大小进行事先估计,通常需要估计的大一些,从而会浪费一些空间,这是严重的局限,特别是在存在许多未知大小的表的情况下。数组实现使得PrintList和FInd操作以线性时间执行,而FindKth(查找第K个元素)则花费常数时间。然而,插入和删除的花费则是昂贵的。例如,在位置0插入元素,首先需要将整个数组后移一个位置一空出

2013-04-27 21:50:46 1322

原创 typedef struct和struct

一直以来,关于typedef struct和struct都弄得不太清楚,或者现在弄清楚了,隔段时间又忘记了,所以干脆记下来。参考的是《C和指针》    在声明结构时,必须列出它包含的所有成员,这个列表包括每个成员的类型和名字。    struct tag { member-list} variable-list;    首先,举两个例子:struct{ int a;

2013-04-14 15:03:33 1389

转载 win7下配置apache + mos_wsgi + web.py服务器

工作需要, 开始学习网站的的建设. 因为对Python很感兴趣,所以选定以Python为基础构建网站,因为网站要求不高,所以暂时不考虑性能方面的问题,主要还是为了学习Python.对于Python,对于网站建设,都是一知半解,所以在博客中记录这些点点滴滴的技术知识吧.首先, 说一下环境的搭建, 综合查询网上的资料,我选用Apache+mod_wsgi+web.py进行部署,操作系统

2013-04-11 12:24:20 1599

原创 getchar与setbuf之经典错误

考虑下面的例子:#include int main(){ char c; while ((c = getchar()) != EOF){ putchar(c) }}         getchar函数在一般情况下返回的是标准输入文件中的下一个字符,当没有输入时返回EOF。这个程序乍一看似乎是把标准输入复制到标准输出,实则不然。原因在于程序中的变量c被声明为char类型,而不

2013-03-25 14:50:44 1068

原创 C语言与字符串相关的查找函数

查找一个字符的函数: char *strchr(char const *src, int ch); char *strrchr(char const *src, int ch);       注意它们的第二个参数是一个整型而非char。strchr在字符串src中查找字符ch第一次出现的位置,找到后返回一个指向该位置的指针。如果该字符并不存在于字

2013-03-16 17:08:30 859

原创 c语言字符串函数之strcpy,strcat,strncpy,strncat函数解析

char* strcpy(char *dst, char const * src) { assert((src != NULL) && (dst != NULL)); char *tmp = dst; while ((*dst++ = *src++) != '\0'); return tmp

2013-03-16 16:22:39 1246

原创 c语言关于strlen函数的理解

字符串就是一串0个或多个字符,并且以一个位模式全为0的NUL字节结尾。因此,字符串所包含的字符内部不能出现NUL字节。        字符串的长度即它所包含的字符个数(NUL字节除外),标准库函数strlen的原型如下: size_t strlen(char const* string )     注意,该函数返回一个类型为size_t的值。这个类型在头文件stddef

2013-03-16 14:22:31 1328

硬盘装win7

硬盘安装win7详细图解,按着图操作,准能安装成功

2013-03-11

python核心编程源码, python练习的数十个小例子

python开发的一些基本例子,初学者和高手都可以看看

2013-03-06

OPENCV2.42源码

opencv源码,非安装文件,而是cmake之后的工程文件,打开工程即可看到相关opencv库函数的源码

2013-02-25

光流法进行简单人脸追踪

利用OPENCV库进行简单的人脸追踪识别

2013-02-25

空空如也

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

TA关注的人

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