2023年10月11日

143-7

摘要: 树结点由二叉链表存储,判定给定的树是否是完全二叉树 用到了辅助队列 只要出队的结点非空,就将其左右结点入队,无论左右结点是否为空。 若出队的结点为空,就让队列结点依次出队,若存在非空结点,就说明树不是完全二叉树。 #include <stdio.h> #include <stdlib.h> #def 阅读全文

posted @ 2023-10-11 20:28 四马路弗洛伊德 阅读(12) 评论(0) 推荐(0)

2023年10月10日

143-6

摘要: 二叉树的结点值各不相同,先序序列和中序序列分别存储在数组A和B中,设计算法构建二叉树 使用递归 1、使用指针传入数组,方便进行根节点操作。 TreeNode* BuildTree(int *A,int Alen,int *B,int Blen) T->lchild=BuildTree(A+1,ind 阅读全文

posted @ 2023-10-10 21:39 四马路弗洛伊德 阅读(15) 评论(0) 推荐(0)

143-5

摘要: 非递归求树高,包括递归求树高 current记录每次入队出队操作后队列中结点数,每一个结点出队时--,每一个结点入队时++ previous记录每层结点数,出队操作时-- 当previous==0时,即队列中不存在该层结点且当前队列中是下一层结点。此时,high++。让previous=curren 阅读全文

posted @ 2023-10-10 20:57 四马路弗洛伊德 阅读(13) 评论(0) 推荐(0)

2023年10月9日

143-4

摘要: 二叉树自下而上,从右到左的层次遍历算法 相较于普通的层次遍历,该算法,只是利用栈的特点,将一系列元素反转。 层次遍历的每一个结点依次进栈,最后再将依次出栈 #include <stdio.h> #include <stdlib.h> #define MaxSize 100 typedef struc 阅读全文

posted @ 2023-10-09 22:06 四马路弗洛伊德 阅读(8) 评论(0) 推荐(0)

TreeAPI 递归和非递归遍历

摘要: 只包含递归和非递归遍历 #include <stdio.h> #include <stdlib.h> #define MaxSize 20 typedef struct node{ int data; struct node *lchild,*rchild; }TreeNode,*Tree; typ 阅读全文

posted @ 2023-10-09 21:34 四马路弗洛伊德 阅读(17) 评论(0) 推荐(0)

143-3 二叉树后序非递归遍历

摘要: 二叉树的后序非递归遍历 使用辅助栈 r指针的作用是判断该结点是否遍历过 #include <stdio.h> #include <stdlib.h> #define MaxSize 20 typedef struct node{ int data; struct node *lchild,*rchi 阅读全文

posted @ 2023-10-09 20:57 四马路弗洛伊德 阅读(13) 评论(0) 推荐(0)

2023年10月8日

39-20

摘要: 设头指针为L的带头结点的双向非循环链表,结点类型定义如下,count指被访问次数。 typedef struct node{ int data; int count; struct node *pre,*next;}LNode,*LinkList; Locate(L,x)函数,x为结点值,每访问一次 阅读全文

posted @ 2023-10-08 22:06 四马路弗洛伊德 阅读(16) 评论(0) 推荐(0)

39-19

摘要: 设有有一个带头结点的循环单链表,反复找出单链表中最小的结点并删除,直至链表为空 注意删除需要释放空间,包括释放最后的链表头结点 #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *nex 阅读全文

posted @ 2023-10-08 21:10 四马路弗洛伊德 阅读(9) 评论(0) 推荐(0)

39-18

摘要: 有两个循环单链表,链表头指针分别指向A,B,将A,B连接起来,并保持循环。 没有说明是带头结点或不带头结点的循环链表,我使用的是不带头结点的循环单链表 不带头结点的循环单链表,在遍历时需要注意对最后一个结点的处理: void displayList(LinkList L) { LNode *p=L; 阅读全文

posted @ 2023-10-08 20:53 四马路弗洛伊德 阅读(16) 评论(0) 推荐(0)

39-17

摘要: 设计一个算法用于判断带头结点的循环双链表是否对称 循环双链表!! #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *pre,*next; }LNode,*LinkList; void 阅读全文

posted @ 2023-10-08 20:01 四马路弗洛伊德 阅读(20) 评论(0) 推荐(0)

导航