
数据结构
文章平均质量分 93
数据结构与算法
清风拂来水波不兴
远在天涯
展开
-
平衡二叉树
1.定义平衡二叉树,又称AVL树,用于解决二叉排序树高度不确定的情况,如果二叉排序树的子树间的高度相差太大,就会让二叉排序树操作的时间复杂度升级为O(n),为了避免这一情况,为最坏的情况做准备,就出现了平衡二叉树,使树的高度尽可能的小,其本质还是一棵二叉搜索树。平衡二叉树的性质:左子树和右子树的高度之差的绝对值小于等于1 左子树和右子树也是平衡二叉树为了方便起见,给树上的每个结点附加一个数字,给出该结点左子树与右子树的高度差,这个数字称为结点的平衡因子(BF)平衡因子=结点左子树的高度-原创 2022-05-01 12:47:37 · 44756 阅读 · 9 评论 -
二叉排序树
二叉排序树1.定义二叉排序树(BST),又称为二叉树搜索树和二叉查找树。定义:如果它的左子树非空,则左子树中的所有结点的值都小于根节点的值 反之,若右子树非空,则右子树上所有的结点的值都大于等于根节点的值 其左右子树本身也是二叉排序树二叉排序树该二叉树的中序遍历的结果一定是有序的,如上的中序遍历的结果为3,12,24,37,45,53,61,78,90,992.二叉排序树的操作二叉排序树有关的一些操作可以包含search查找,minimum查找最小值,maxi原创 2022-04-30 18:34:46 · 5518 阅读 · 6 评论 -
KMP算法详解 通俗易懂
概述KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。我现在有两个字符串,我们是否可以判断出其中的一个是另一个字符串的字串,如:ABCD是否为QWEABCJE的字串,显然并不是它的字串,因为必须是连续匹配的,中间不能被分割。通常我们以前的做法就是暴力解法,设置两个指针,不匹配时主串的指针就往后走,当发现一个匹配时,字串和主串的指针就开始一起动,如果发现字串还没到结尾却突然两个字符串不相等时,子串就必须回溯到第一个字符,主串也回溯到上一次的字符的下一个位置重新开原创 2021-11-28 10:15:24 · 895 阅读 · 0 评论