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