![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法分析学习
文章平均质量分 66
happiness_jiazheng
这个作者很懒,什么都没留下…
展开
-
最近点对问题
在二维平面上的n个点中,如何快速的找出最近的一对点,就是最近点对问题。 一种简单的想法是暴力枚举每两个点,记录最小距离,显然,时间复杂度为O(n^2)。 在这里介绍一种时间复杂度为O(nlognlogn)的算法。其实,这里用到了分治的思想。将所给平面上n个点的集合S分成两个子集S1和S2,每个子集中约有n/2个点。然后在每个子集中递归地求最接近的点对。在这里,一个关键的转载 2014-09-07 10:04:19 · 347 阅读 · 0 评论 -
栈的链式存储实现
typedef struct node { DataType data; struct node *next; }LStackNode, *LinkStack; void InitStack(LinkStack *top) { if( (*top = (LinkStack)malloc(sizeof(LStackNode))) == NULL ) exit(-1); (原创 2014-11-17 16:28:50 · 355 阅读 · 0 评论 -
线性表的顺序存储实现
#define ListSize 100 typedef struct { DataType list[ListSize]; int length; }SeqList; void InitList(SeqList *L) { L->length = 0; } int ListEmpty(SeqList L) { if(L.length ==0 ) retu原创 2014-11-17 14:44:54 · 329 阅读 · 0 评论 -
栈的顺序存储实现
#define StackSize 100 typedef struct { DataType stack[StackSize]; int top; }SeqStack; void InitStack(SeqStack *S) { S->top = 0; } int StackEmpty(SeqStack S) { if(S.top == 0) retur原创 2014-11-17 16:09:54 · 391 阅读 · 0 评论 -
单链表的实现
typedef struct Node { DataType data; struct Node *next; }ListNode, *LinkList; void InitList(LinkList *head) { if( (*head = (LinkList)malloc(sizeof(LinkNode))) == NULL) exit(-1); (*head)->原创 2014-11-17 15:17:38 · 327 阅读 · 0 评论 -
伸展树头文件C语言(splay_tree.h)
/* splay_tree.h -- 伸展树头文件 */ /* 数据类型定义 */ typedef int Item ; typedef struct node { Item item ; struct node * left ; struct node * right ; } Node ; typedef Node * Positio转载 2014-09-01 15:21:17 · 473 阅读 · 0 评论 -
各种数据结构的存储结构描述
1.线性表的顺序存储结构原创 2014-09-01 09:40:50 · 849 阅读 · 0 评论 -
AVL树C实现
#include "avltree.h" #include "fatal.h" #include #include struct AvlNode { ElementType Element; AvlTree Left; AvlTree Right; int Height; }; AvlTree MakeEmpty(转载 2014-09-01 15:16:04 · 393 阅读 · 0 评论 -
伸展树实现文件C语言(Splaytree.c)
/* splay_tree.c -- 伸展树实现文件 */ #include #include #include "splay_tree.h" /* 局部数据类型定义 */ typedef Position Stack_Item ; typedef struct stack_node { Stack_Item item ; struct转载 2014-09-01 15:25:35 · 624 阅读 · 0 评论 -
第二章算法分析中需要掌握的内容
1.常见算法的时间复杂度需要知道。 2.4种求最大原创 2014-08-24 17:24:32 · 356 阅读 · 0 评论 -
链式队列的实现
typedef struct QNode { DataType data; struct QNode* next; }LQNode, *QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue; void InitQueue(LinkQueue *LQ) { LQ->front=原创 2014-11-18 13:49:22 · 344 阅读 · 0 评论