
数据结构
文章平均质量分 81
haizi8888
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构:AVL树(平衡二叉树)
一,概述 对于普通的查找二叉树,由于删除操作的某些规定,导致最终删除的结果是根节点的左右子树严重不平衡,这对他的正常操作带来严重的影响。因此提出了avl树,在avl树中,任意两个节点的子树的高度的相差最多为1。当然这对他的删除和插入操作提出了新的要求。本文将详细介绍avl树的设计思想和基本操作。 二基本术语。 有4种以下的情况可能导致二叉树不平衡,分别为: (1)LL:插入一个新节点到根节原创 2013-03-03 20:52:28 · 543 阅读 · 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 · 398 阅读 · 0 评论 -
数据结构:链表的基本操作
//抽象数据类型(ADT)之链表结构 #include #include #define ELEMENT int typedef 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 · 518 阅读 · 0 评论 -
数据结构:堆栈
#include #include #include //堆栈的使用 // ______ //head-->|t指向下| _ _ // |-------| | | // |t | -->z-- z指向本身 // -------- #define N 100 typedef char TELEM; typedef s原创 2013-02-23 21:18:49 · 382 阅读 · 0 评论 -
数据结构:二叉查找树
//二叉查找树 #include #include typedef 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 · 350 阅读 · 0 评论 -
数据结构:散列表(哈希表)
概念: 在理想情况下,散列表数据结构就是一个某种数据类型的具有固定大小的数组。在数组用于保存某一集合的数据。集合中的元素根据某种运算(散列函数)得到相应的小标。理想情况下,不同的元素对应不同的下标。如果不同的元素对应相同的下标,那么我们称这种情况为冲突。 散列函数多种多样,根据不同的情况选择不同的函数,散列函数一般有哪些,自己查课本。那么出现冲突时,有几种解决方法,这里,我们将原创 2013-02-28 12:51:18 · 762 阅读 · 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 · 2175 阅读 · 0 评论