二叉树具体实现-C语言

二叉树具体实现-C语言 知识回顾: 树 树是n(n>=0)个结点的有限集。当n=0时,称为空树。在任意一棵非空树中应满足: 1、有且仅有一个特定的称为根的结点。 2、当n>1时,其余结点可分为m(m>0)个互不相交的有限集T~1~,T~2~,...,T~n~。其中每个集合本身又是一棵树,并且称为根的子树。 树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点: 1、树的根结

栈与队列-C语言

栈与队列-C语言 初始化栈-入栈-出栈 通过代码依次实现初始化栈,判断栈是否为空,压栈,获取栈顶元素,弹栈。此处规定S.top=-1时,栈为空。 #include <stdio.h> #include <stdlib.h> #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data

单链表-C语言

单链表-C语言 线性表L=(a~1~,a~2~,a~3~,...,a~n-2~,a~n-1~,a~n~)采用带头结点的单链表保存,链表中的结点定义如下: typedef struct node{ int data; struct node* next; }NODE; 请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L^1^=(a~1~,a~n~,a~2~,a

队列-数据结构

队列-数据结构 队列的基本概念 队列:是只允许在一端进行插入,在另一端删除的线性表。 队头:允许删除的一端 队尾:允许插入的一端 空队列:队列内不包含元素 队列的特点:先进先出 队列的基本操作 InitQueue(&Q):初始化队列,构造一个空队列Q。 DestroyQueue(&Q):销毁队列。销毁并释放队列Q所占用的内存空间。 EnQueue(&Q,x):入队,若队列Q

栈-数据结构

栈-数据结构 栈的定义 只允许在一端进行插入或删除操作的线性表。 逻辑结构:与普通的线性表相同 数据的运算:插入、删除操作有区别 栈的概念 栈顶:允许插入和删除的一端 栈底:不允许插入和删除的一端 空栈:不包含数据元素 栈的基本操作 InitStack(&S):初始化栈。构建一个空栈S,分配内存空间。 DestoryStack(&S):销毁栈。销毁并释放栈S所占用的内存空间。 Pu

静态链表-数据结构

静态链表 静态链表、单链表和双链表都是链式存储结构,但它们在内存分配方式、节点结构和操作方式上有所不同。 静态链表(Static Linked List): 静态链表使用数组来实现链式结构,而不是通过指针。数组中的每个元素对应于链表中的一个节点。 静态链表在静态内存中分配节点,节点的数量在编译时确定,无法动态调整。 静态链表的插入和删除操作比较麻烦,因为需要手动维护空闲节点的链表。 单链表(Sin

循环链表-数据结构

循环链表 循环链表分为循环单链表和循环双链表 循环单链表 循环单链表是一种特殊的单链表,其尾节点的 next 指针指向链表的头结点,形成一个环形结构。这种设计在某些情况下是有意义的,具体作用包括: 方便遍历:由于尾节点指向头结点,遍历链表时可以从任意节点开始,遍历到尾节点后直接返回到头结点,形成一个循环遍历,而不需要额外的逻辑来判断是否到达了链表的末尾。 简化操作:在循环单链表中,任何一个节点都可

双链表-数据结构

双链表 双链表(doubly linked list)和单链表(singly linked list)是两种常见的链表数据结构,它们在内存中存储数据的方式以及对数据的访问方式上有所不同。以下是它们之间的对比: 存储方式: 单链表:每个节点包含一个数据元素和一个指向下一个节点的指针(通常称为“next”指针)。 双链表:每个节点包含一个数据元素,一个指向下一个节点的指针和一个指向前一个节点的指针(通

单链表操作-C语言

单链表操作-C语言 描述: 用户输入 3 4 5 6 7 9999一串整数,9999代表结束,通过头插法新建链表,并输出。通过尾插法新建链表,并输出。 #include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct LNode { ElemType data; struct LNode*

单链表-数据结构

单链表-数据结构 代码定义单链表 #include <stdio.h> #include <stdlib.h> typedef int ElemType; //typedef struct LNode LNode; //typedef关键字(数据类型重命名) struct LNode{ //定义单链表节点类型 ElemType data; //每个节点存放一个数据元素 st