- 博客(10)
- 收藏
- 关注
原创 平衡二叉树的原理与功能实现(AVL)
平衡二叉树:树上任一结点的左子树和右子树的高度之差不超过1结点的平衡因子 = 左子树高度 - 右子树高度只要有任何一个结点的平衡因子的绝对值大于1,那此树就不是平衡二叉树int key;//平衡因子 struct AVLNode * lchild , * rchild;
2022-10-31 17:18:03
146
原创 KMP算法详解
数据结构课程学习中接触到的很重要的一个算法,主要应用于字符串子串匹配上(模式匹配)KMP算法是一种模式匹配算法,是暴力穷举法(BF算法)的改进版,时间复杂度由,极大提升了模式匹配算法的效率。下面,我们先实现BF算法,再进一步研究KMP算法。
2022-10-16 12:28:19
593
原创 数据结构-块链的操作
define CHUNKSIZE 100 /*块链定义*/ typedef struct Nodes {// 数据域 struct Nodes * next;// 指针域 } block;// 串的头指针、尾指针 int cur_len;// 串的当前长度 } lstring;// 用于填补空白 void init_string() {/*初始化字符串(产生空串)*/ lstring * T = new lstring;
2022-10-12 22:39:04
744
原创 数据结构-栈的基本操作(顺序栈)
栈的定义// 动态数组 int maxlen;int top;// 栈顶指针 //top == -1代表空栈,top == maxlen-1代表满栈 };由于是顺序结构,定义时就必须确定栈的最大长度maxlen,改用动态数组的形式可以更灵活的操控内存栈的初始化/*初始化栈*/ SeqStack * head = new SeqStack;// 空栈时,栈顶指针为-1 return head;}
2022-10-11 13:41:14
715
原创 数据结构-数组的基本操作
用结构体实现数组int * arr_ptr //定义一个指向数组的指针 int max_len // 数组中能够存放的最大元素的个数 int cur_len // 当前数组中的元素的个数 };确定一个数组,要有一个指向数组的指针(数组的首地址),要在申请内存空间时就明确数组的最大长度。
2022-10-01 18:44:32
868
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人