自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

让阳光照进心里

学习感悟+生活随笔

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 k-d树头文件C语言

<br />  有了2-d树,k-d树很自然就出炉了,呵呵.不难的东西,很喜欢这东西.<br />  而且,发现了2-d树的Bug,当然也就没有影响到这课k-d树.<br />  呼呼...贴!<br />/* k-dTree.h -- k-d树头文件 */#include <stdio.h>#include <stdlib.h>/* 宏定义 */#define ADD_INDEX(k, index) (k == index + 1 ? 0 : index + 1)#define

2011-03-31 17:55:00 1418

原创 k-d树实现文件C语言

<br />/* k-dTree.c -- k-d树实现文件 */#include "k-dTree.h"/* 局部函数声明 *//* 队列部分 */static QueueNode * makeNode_Q (Node * const pn, const int index) ;/* k-d树部分 */static Node * makeNode_K (const Item * const pi, const int k) ;static BOOL within_K

2011-03-31 17:55:00 1249

原创 2-d树实现文件C语言

/* 2dTree.c -- 2-d树实现文件 */#include "2dTree.h"/* 局部函数声明 *//* 队列部分 */static QueueNode * makeNode_Q (Node * const pn, const int index) ;/* 2-d树部分 */static Node * makeNode_T (const Item * const pi) ;static void release_T (Node * const pn) ;

2011-03-30 15:28:00 1247

原创 2-d树头文件C语言

<br />  2-d树,昨天写的.今天本想来好好玩会球,不想玩了一小会就散伙了.于是来上会网.<br />  这个东西,支持二维的范围查找,十分有用.关于优化的部分,我并不承认.我觉得我所知的那种优化方式开销太大,而且实现十分困难,于是没有去实现.写的这套ADT很不错,关于范围查找非递归的实现,我想到了层序遍历,这真是一个好主意,我都为自己高兴,觉得自己的想法很到位.事实证明,问题也确实依次解决的,很不错,很不错.呵呵.<br />  如果自顶向下进行判断,左右子树都要判断,并且左右子树很有可能同时满足条

2011-03-30 15:27:00 1271

原创 Treap树非递归插入

<br />  用显示的栈实现插入,完成非递归的插入.<br />  这网吧的破显示器太烂了....自己小调了下,呵呵.<br />  栈好久不写了,冷不丁一写,还真是遇到了问题.不过还好,现在搞清楚了.<br />  好了,贴吧.<br />/* 12-17-11-03-28-18.49.c -- 第十二章第十七题 */#include <stdio.h>#include <stdlib.h>#include "treapTree.h"TreapTree Insert_T (Treap

2011-03-28 20:34:00 1045

原创 Treap树实现文件C语言

<br /> 对于这个,想说的是.关于 NullNode 结点.在调用Release ()释放内存之后,要将其恢复为NULL,以便下次的连续使用.自己想到的,很不错.<br />/* treap.c -- treap树实现文件 */#include "treapTree.h"/* 全局变量声明定义 */static Node * NullNode = NULL ;/* 局部函数声明 */static Node * singleRotateWithLeft (Node * const pn

2011-03-26 21:59:00 1462 2

原创 Treap树头文件C语言

<br />  这东西,有随机化算法的影子.使得每个结点以 priority 值保持堆序,继而实现对树高度的控制.想法很好,实现起来也很简单.<br />/* treapTree.h -- treap树头文件 */#include <stdio.h>#include <stdlib.h>#include <time.h>#define INFINITY (~(1 << 31))typedef int Item ;typedef struct node{ Item item ;

2011-03-26 21:57:00 1086

原创 AA树实现文件C语言

/* AATree.c -- AA树实现文件 */#include "AATree.h"/* 全局变量声明 */static Node * NullNode = NULL ;/* 局部函数声明 */static Node * singleRotateWithLeft (Node * const pn) ;static Node * singleRotateWithRight (Node * const pn) ;static Node * skew (Node *

2011-03-24 15:54:00 1077

原创 AA树头文件C语言

<br />  并未深入研究这个,只是对已有代码进行了理解与扩充.我已经成了奴隶,时间长没有代码出现,就会郁闷得要命.出了这个,能缓解下.给自己的压力太大了.<br />/* AATree.h -- AA树头文件 */#include <stdio.h>#include <stdlib.h>/* 明显常量定义 */#define FALSE (0)#define TRUE (1)/* 数据类型定义 */typedef int BOOL ;typedef i

2011-03-24 15:52:00 1437

原创 计数排序C语言

计数排序,白天手机看维基百科看到的.对付数据跨度小的 int 型数据,的确很快.代码,很直观./* count_sort-11-03-21-19.01.c -- 计数排序 */#include #include #define SIZE (10)int main (void) ;int countSort (int * const array, const int size) ;void printResult (const int * const array, const

2011-03-21 20:18:00 1633

原创 伸展树查找第K个最大/最小元C语言

<br />  书上的一道习题,本以为很简单,却一不小心搞了5个小时.还好,搞出来了.<br />  不多说了,贴代码,很清楚的代码.<br />Node * FindKthMin_S (const SplayTree * const pst, int k){ Node * scan ; if (k > (*pst) -> current || k <= 0) return NULL ; scan = (*pst) -> root ; while (1) { if

2011-03-19 22:36:00 1162 2

原创 心事

26368 36817 44 25105 34920 31034 21387 21147 24456 22823 46 13 10 20303 30340 22320 26041 44 24456 20919 46 27599 22825 44 30561 24471 24456 23569 46 32780 19988 44 24120 26377 21387 21147 46 13 10 26

2011-03-14 23:18:00 789

原创 红黑树实现文件C语言

<br />  这个东西,保证了树的深度很低,而且旋转的次数很少.较同类的AVL树有了很大的提高.但是实现起来,并不简单.<br />  好吧,继续我的习惯,代码说明问题.<br />/* RedBlackTree.c -- 红黑树实现文件 */#include "RedBlackTree.h"/* 全局变量引用 */extern Node * NullNode ;extern Node * Current, * Sibling, * Parent, * GrParent, * Gr

2011-03-14 22:09:00 1356 6

原创 红黑树头文件C语言

<br />  红黑树,记得刚买那本书的时候我就发现有这个东西,觉得很神秘,终于接触到了,并且,我已经写出来了.很高兴.<br />  插入的例程是书上自带的,我给代码实现了.细节部分,我并不是很清楚.删除例程,是自己写的,全下来写了大概15小时,很辛苦.昨天晚上到家就开始写,今天到家也是立刻就开始写,写完了.<br />  我想说的是,关于删除例程, 算法部分的自己构建我很满意,旋转部分的细节实现以及细节,也是自己发现并总结的,而且是对的.很辛苦的过程啊,坚持过来了,哈哈.<br />  并没有模块化删除

2011-03-14 22:07:00 1512

原创 自顶向下伸展树实现文件C语言

/* SplayTree.c -- 自顶向下伸展树实现文件 */#include "SplayTree.h"/* 外部变量引用 */extern Node * NullNode ;/* 局部函数声明 */static Node * singleRotateWithLeft (Node * const position) ;static Node * singleRotateWithRight (Node * const position) ;static Node

2011-03-08 21:46:00 1793 3

原创 自顶向下伸展树头文件C语言

  一晃又是好几天.总算今天是有代码出现了.  自顶向下伸展树,比去年写的那个伸展树轻松多了.  人家总结出来的东西,我看懂了,完全让我自己写的话,很难啊.  这段代码,有些技巧.说的就是"NullNode"到底是怎么回事,具体的自己看代码吧.而且,发现自己的C语言功底还不够,自己补了下,而且接下来会有意识地学一学了.  不多说了.还有,下周去报名,程序员考试.我干劲./* SplayTree.h -- 自顶向下伸展树头文件 *//* 酒后写的头文件哦. */#include #include

2011-03-08 21:45:00 1457

原创 无奈

<br />  再次拒绝了一个女生的好感...呵呵.没办法,我无法得到所有的东西,至少目前是.

2011-03-04 22:59:00 800

原创 双向循环链表头文件C语言

<br />  这个东西,是在写斐波那契堆的时候发现的.觉得这东西很好,很好用,很方便.呵呵.所以啊,昨天给实现了,凑代码吗?不高级,实现的细节问题也不多.<br />  呵呵,不多说了,贴出来吧.明天会休息呢,所以来调兵了,玩了会球,感觉不错呢.<br />/* DoubleCircularLinkedList .h -- 双向循环链表头文件 */#include <stdio.h>#include <stdlib.h>/* 明显常量定义 */#define FALSE (0)

2011-03-04 22:00:00 2004

原创 双向循环链表实现文件C语言

<br />/* DoubleCircularLinkedList.c -- 双向循环链表实现文件 */#include "DoubleCircularDoubleCircularLinkedList.h"/* 局部函数声明 */static Node * makeNode (const Item * const pi) ;/* 接口函数定义 */BOOL Create_B (DoubleCircularLinkedList * const pl){ *pl =

2011-03-04 22:00:00 1152

原创 斐波那契堆实现文件C语言

<br />/* FibonacciHeap.c -- 斐波那契堆实现文件 */#include "FibonacciHeap.h"/* 局部函数声明 */static Node * makeNode (const Item * const pi) ;static int logBaseOnTwo (const int current) ;static void link (Node * list, Node * const new_node) ;static void cu

2011-03-02 00:00:00 3051 4

原创 斐波那契堆头文件C语言

  呼...今天在家蹲了一天,除了中午出去去单位办房子的手续.虽然没有办成,少了一些必要的条件.  其余的,最近比较累,越发得累...我想,贵在坚持吧.还能怎么样呢.只能这样了.呵呵.听起来像是很悲观,其实,还是很乐观的.  好久没有代码出来了,真够郁闷的啊!确实!郁闷得够呛啊!简直,都因为这个有些烦躁了...  还好吧...今天辛苦了一天,屁股坐得直疼,还好写出来了.一点小欣慰.  连纸上研究,再代码实现...加起来大概用了20小时.只比这个时间多,不比这个时间少了啊.  写这个东西,居然对指针加深了了解

2011-03-01 23:59:00 1531 1

For save__个人使用

AVL树. 刘洋拿来给我看的,我今天没有时间看了.先保存一下.回头来看.

2011-06-30

<<数据结构与算法分析-C语言描述>>编程练习

<<数据结构与算法分析-C语言描述>>编程练习. 课后习题的C语言实现.

2011-04-06

空空如也

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

TA关注的人

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