数据结构
dongfengxueli
互联网大潮的研究生
展开
-
数据结构单链表简单实现
单链表节点定义:typedef struct LNode{ ElemType data; //数据域 struct LNode *next; //指针域}Lnode,*LinkList;1 头插法建立单链表采用头插法建立单链表,读入数据顺序与生成链表中的元素顺序是相反的,每个节点的插入时间是o(1),总的时间复杂度是o(...原创 2018-07-30 10:58:14 · 263 阅读 · 0 评论 -
B树和B+树(非常重要)
B树,又称为多路平衡查找树,B树中所有结点的孩子结点树的最大值称为B树的阶,通常用m表示 一棵m阶B树满足以下性质:1 树中每个结点至多有m棵子树(至多含有m-1个关键字)2 若根结点不是终端结点,则至少有两棵子树3 除根结点外,所有非叶结点至少有 m/2 棵子树 B树和B+树的区别:B+树和B树相比,主要的不同点在以下3项:内部节点中,关键字的个数与其子树...转载 2018-08-07 14:46:20 · 1564 阅读 · 0 评论 -
二叉树的遍历
先序遍历二叉树:(NLR)1 访问根节点2 先序遍历左子树3 先序遍历右子树void preorder(btree t){ if(t!=NULL) { visit(t); preorder(t->lchild); preorder(t-&g...原创 2018-08-02 16:53:21 · 173 阅读 · 0 评论 -
数据结构----树与二叉树
结点的深度是从根结点开始自顶向下逐层累加的。结点的高度是从叶节点开始自底向上逐层累加的。树的高度(又称深度)是树中结点的最大层数。 树的一些重要性质:1· 树中结点数等于所有结点的度数加12 为m的树中第i层至多有个结点3 高度为h的m叉树至多有(-1)/(m-1)个结点4 具有n个结点的m叉树的最小高度为logM(n(m-1))+1 二叉树与度为2的有序树...原创 2018-08-02 13:15:07 · 275 阅读 · 0 评论 -
图的存储和基本操作
1 邻接矩阵法邻接矩阵存储结构定义:#define Maxvertexnum 100 //顶点数目的最大值typedef char vertextype; //顶点的数据类型typedef int edgetype; //边上权值的上数据类型typedef struct{ vertextype vex[maxvertexnum]; //顶点表 ...原创 2018-08-06 17:27:14 · 212 阅读 · 0 评论 -
数据结构---队列
队头:允许删除的一端,又称为队首队尾:允许插入的一端空队列:不允许任何元素的空表队列的顺序存储:#define struct maxsizee 50typedef struct{ elemtype data[maxsize]; int front,rear;}queue;初始状态:q.front==q.rear==0进队操作:队不满...原创 2018-07-31 17:14:57 · 225 阅读 · 0 评论 -
数据结构双链表
双链表的节点描述如下 : typedef struct DNode{ Elemtype data; struct Dnode *prior,*next;}Dnode,*DLinklist;双链表的插入操作在双链表中p所指结点之后插入节点*ss->next = p->next;p->next->prior = s;p->...原创 2018-07-30 12:33:31 · 196 阅读 · 0 评论 -
二叉排序树
二叉排序树(BST):二叉排序树的非递归查找算法:bstnode *bst_search(btree t,elemtype key,btnode *&p){ p=NULL; while(t!=NULL&&key!=t->data) { p=t; if(key< t->data) ...原创 2018-08-03 14:45:32 · 118 阅读 · 0 评论