
数据结构
hustfc
这个作者很懒,什么都没留下…
展开
-
c语言实现线性表的建立,初始化,插入,删除,查找,遍历以及时间复杂度分析
顺序表的特点是元素的逻辑顺序与物理顺序相同 顺序表结构:#include <stdio.h> #define InitSize 100 typedef int ElemType;typedef struct{ ElemType * data; int MaxSize , length; }SeqList;int InitList(SeqList *L); //顺序表初始化 int原创 2017-08-21 16:47:05 · 7069 阅读 · 1 评论 -
c语言实现循环队列和链式队列
队列与栈不同,队列必须是先进先出(first in first out),而栈是后进先出的(last in first out) 链式队列与单链表的区别是,链式队列不能随意的增加,删除,以及读取队列中间的某一个数据。循环队列采用牺牲一个存储单元的方法。 front = rear表示队列空 (rear + 1) % MaxSize = front表示队列满 例如: rear = 4 fron原创 2017-08-24 19:00:49 · 1502 阅读 · 0 评论 -
typedef与typedef strcut 的理解
typedef最简答的用法就是声明一个同义词typedef int ElemType; typedef unsigned int Wordtypedef struct就是声明一个struct,然后将这个struct变成一个同义词而已,这样方便声明和使用例如单链表节点类型的描述如下:typedef struct LNode{ ElemType data; struct LNode *原创 2017-08-22 15:09:26 · 454 阅读 · 0 评论 -
c语言实现单链表建立,插入,删除,查找,循环链表,静态链表
单链表结点结构 typedef struct LNode{ ElemType data; struct LNode * next; }LNode, *LinkList; 元素插入 头插法,逆向建立单向链表,每次在头结点之后插入元素 LinkList CreateList1 (LinkList L){ LinkList s;//链表元素指针 int x; L原创 2017-08-22 17:21:49 · 1354 阅读 · 0 评论 -
c语言实现栈,共享栈,链式栈
栈的数据结构typedef struct{ Elemtype data[MaxSize]; int top; //栈为空的时候top=-1,入栈的时候top+1,然后在入栈。元素个数top+1 }SqStack; 共享栈/*共享栈的结构*/ typedef struct{ Elemtype data[MaxSize]; int top0, top1; }Sharin原创 2017-08-23 16:20:44 · 392 阅读 · 0 评论 -
c语言实现二叉树的建立与前序、中序、后序、层序遍历
树的节点与函数的定义typedef char ElemType;typedef struct BiTNode{ ElemType data; struct BiTNode * lchild , * rchild; }BiTNode, * BiTree;void CreateBiTree(BiTree T); BiTree CreateBiTree1(); void Visit(BiT原创 2017-09-01 19:09:24 · 5399 阅读 · 2 评论 -
c语言实现线索二叉树的建立,线索化以及遍历
c语言实现线索二叉树的建立,线索化以及遍历结构与函数 typedef struct ThreadNode{ Elemtype data; struct ThreadNode * lchild, * rchild; int ltag, rtag; }ThreadNode, * ThreadTree;ThreadTree InitThreadTree(); void InThre原创 2017-09-02 17:08:26 · 4000 阅读 · 0 评论 -
【剑指offer】序列化和反序列化二叉树
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 序列化二叉树 先序遍历二叉树 def recursionSerialize(self, root): series = '' if root == None: series += ',$' else: series += (',' + s...原创 2018-11-20 19:32:36 · 173 阅读 · 0 评论 -
深入理解MySql索引底层数据结构与算法
索引是用来优化数据库查询速度的,是表级别的。 mysql会根据主键来自动建立索引方便查询。 下面介绍索引的底层原理以及很多细节的步骤。 1. 为什么使用B+树而不使用二叉搜索树或者红黑树 二叉搜索树: 红黑树: B树: 首先二叉搜索树是不能够自己调整高度的。 红黑树能够自己调整高度,用在java的HashMap中,但是红黑树也是二叉树,建立索引之后的高度仍然太高。 而B-树和B+树每一层能够...原创 2019-05-29 12:30:21 · 397 阅读 · 0 评论