数据结构
文章平均质量分 81
haizi8888
这个作者很懒,什么都没留下…
展开
-
数据结构:AVL树(平衡二叉树)
一,概述对于普通的查找二叉树,由于删除操作的某些规定,导致最终删除的结果是根节点的左右子树严重不平衡,这对他的正常操作带来严重的影响。因此提出了avl树,在avl树中,任意两个节点的子树的高度的相差最多为1。当然这对他的删除和插入操作提出了新的要求。本文将详细介绍avl树的设计思想和基本操作。二基本术语。有4种以下的情况可能导致二叉树不平衡,分别为:(1)LL:插入一个新节点到根节原创 2013-03-03 20:52:28 · 506 阅读 · 0 评论 -
数据结构:队列(循环数组实现)
#include#include#define ElementType int#define MAXSIZE 10//队列的循环数组实现方式typedef struct QueueRecord{ int Front; int Rear; int Size; ElementType Array[MAXSIZE];}Queue; static Queue *q;void I原创 2013-02-23 23:26:08 · 366 阅读 · 0 评论 -
数据结构:链表的基本操作
//抽象数据类型(ADT)之链表结构#include#include#define ELEMENT inttypedef struct node{ ELEMENT value; struct node *next;}list;list* Initial();void Greate_List(list*,ELEMENT *a,int n);int IsEmpty(list *)原创 2013-02-23 20:01:20 · 476 阅读 · 0 评论 -
数据结构:堆栈
#include#include#include//堆栈的使用 // ______//head-->|t指向下| _ _ // |-------| | |// |t | -->z-- z指向本身// --------#define N 100typedef char TELEM;typedef s原创 2013-02-23 21:18:49 · 347 阅读 · 0 评论 -
数据结构:二叉查找树
//二叉查找树#include#includetypedef struct TreeNode{ int Element; struct TreeNode *Left; struct TreeNode *Right;}TreeNode;static TreeNode *T;TreeNode *MakeEmpty(TreeNode *);TreeNode *Find(int ,Tr原创 2013-02-26 21:46:05 · 322 阅读 · 0 评论 -
数据结构:散列表(哈希表)
概念: 在理想情况下,散列表数据结构就是一个某种数据类型的具有固定大小的数组。在数组用于保存某一集合的数据。集合中的元素根据某种运算(散列函数)得到相应的小标。理想情况下,不同的元素对应不同的下标。如果不同的元素对应相同的下标,那么我们称这种情况为冲突。 散列函数多种多样,根据不同的情况选择不同的函数,散列函数一般有哪些,自己查课本。那么出现冲突时,有几种解决方法,这里,我们将原创 2013-02-28 12:51:18 · 713 阅读 · 0 评论 -
数据结构:图深度优先遍历算法
1:基本概念: 图:图G是由两个集合V (G)和E(G)所组成,记为G=(V,E);其中V (G)是图顶点的非空有限集合,E(G)是图中边的有限集合。 有向图:V(G1)={v1,v2,v3}; E(G1)={,,} 无向图:V(G2)={v1,v2,v3,v4};原创 2013-03-23 19:09:18 · 2098 阅读 · 0 评论