09 2023 档案
摘要:思路: 1、线索化二叉树结点定义与二叉树基本相同,只是在原先的基础上添加了int类型的左右线索标志。 2、定义全局变量pre,用来指向当前结点的前驱结点。 3、构造visit()时,如果访问结点的左孩子为空,需要建立前驱线索并将ltag设为1;如果访问结点的前驱结点不为空且其右孩子为空,需要建立后继
阅读全文
摘要:#include<stdio.h> #include<stdlib.h> //定义 typedef struct BiTNode{ int data; //数据域 struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; //创建新节点 bool creat
阅读全文
摘要:#include <stdio.h> #define MaxSize 100 //定义 typedef struct{ char ch[MaxSize]; int length; }SString; //朴素模式匹配算法 ,主串S,辅串T ,最坏时间复杂度:O(mn) int Index(SStri
阅读全文
摘要:核心思路: 1、首先定义队列结点,包含数据域和指针域;然后定义链式队列,包含队列节点类型的队头和队尾指针。 2、初始化: 带头结点:给头结点分配内存,然后队头和队尾指针指向头结点,同时队头指针的next指向NULL。 不带头结点:队头和队尾指针都指向NULL。 3、入队: 带头结点:先给入队节点分配
阅读全文
摘要:核心思路: 1、使用顺序存储的方式定义队列时,使用数组存储队列元素,然后声明两个int类型的指针——rear和front,分别指向队尾元素的下一个位置和队头元素的位置。 2、初始化队列时,队列的首尾指针都指向0 。 3、当队列为空时,队尾和队头指针指向同一个位置(不一定等于0)。 4、队满条件:(Q
阅读全文
摘要:#include<stdio.h> #define MaxSize 10 //栈的所有操作时间复杂度都是O(1) //定义 typedef struct{ int data[MaxSize]; int top; //栈顶指针,永远指向栈顶元素 }SqStack; //初始化,使栈顶指针指向-1 vo
阅读全文
摘要:单链表(有头结点) #include<stdio.h> #include<stdlib.h> //定义 typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域指向下一个结点,所以是 struct LNode类型 }LNode,*
阅读全文