![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Pr Young
一个踏实努力,充满激情的程序员!
展开
-
利用前缀树实现敏感词过滤
在字符串中检索到敏感词前缀树中含有的敏感词就把敏感词替换成*所以最后字符串变成:xwa*****ff。原创 2022-11-01 14:03:11 · 120 阅读 · 0 评论 -
散列查找(哈希查找)
例题:关键码集为{47,7,29,11,16,92,22,8,3},散列表表长为11,散列函数为Hash(key)=key mod 11,拟用线性探测法处理冲突,要找到3这个元素,需要查找几次?一组关键字{26,36,41,38,44,15,68,12,6,51,25},用链地址法解决冲突,散列表长度为15,散列函数为Hash(key)=key%13。当x mod 7=2,从2这个位置开始查找,一直查到8这个位置发现是空的,才停止查找,一共查了7次。一直查找, 直到碰到某个位置为空,不再查了。原创 2022-10-07 15:51:23 · 1541 阅读 · 0 评论 -
图的两种存储方式
稠密图用邻接矩阵存储比较好,稀疏图用邻接表存储比较好。原创 2022-10-07 13:16:54 · 908 阅读 · 0 评论 -
平衡二叉树(AVL树)
总结: 找出离插入结点最近的那个失衡结点,然后把三个数中的中间那个数作为根节点,其他两个结点分别成为它的左孩子结点和右孩子结点。比如给你下面这棵二叉树,求AVL树的平均查找长度(成功)和平均查找长度(失败)查找一个数成功,需要的次数等于它所处的层数,它在第三层,查找这个数就需要三次。其实就是在二叉排序树的基础上,要求每个结点的左子树和右子树高度差不超过一。AVL树的名字来自它的发明者Adelson-Velsky和Landis。以10,30,40,20,15,25为例。先将平衡二叉树补充成下面的样子。原创 2022-10-07 12:54:36 · 1492 阅读 · 1 评论 -
线索二叉树
原本为空的右(孩子)指针改为指向该节点在中序序列中的后继,所有原本为空的左(孩子)指针改为指向该节点的中序序列的前驱。显然二叉线索树可以快速找到一个结点的前驱结点和后继结点(普通二叉树无法快速得到)线索二叉树分为:前序线索二叉树,中序线索二叉树,后序线索二叉树。线索化就是利用二叉树中结点的空指针指向这个结点的前驱和后继。被线索化的二叉树就叫作线索二叉树。这就是一棵中序线索二叉树。原创 2022-10-06 23:33:34 · 309 阅读 · 0 评论 -
二叉树结点公式
1.n0=n2+1(n2表示有两个孩子结点的结点,n0表示没有孩子结点的结点)2.第k层最多有2的k-1次方个结点(根节点是第一层)3.k层总共最多有2的k次方-1个结点。比如这里n0=8,n2=7。原创 2022-10-06 22:54:14 · 487 阅读 · 0 评论 -
循环队列的队空队满条件
队满:(rear+1)%maxsize=front(也就是说rear下一个位置就是front)队头指针front指向队头元素,队尾指针rear指向队尾元素。队空:front=rear。原创 2022-10-06 21:56:16 · 1753 阅读 · 0 评论 -
红黑树(也叫自平衡二叉排序树)
根据某个结点左旋,就是这个结点的右子树结点变成这个结点的父节点,这个结点变成原来右孩子节点的左孩子结点。根据某个结点右旋,就是将这个结点的左子树结点变成这个结点的父节点,这个结点变成原来左孩子结点的右结点。比如上面图里面的17一共有六条路径到叶子结点,每条路径上的黑色结点数目都是2。4.任何一个结点到它的所有叶子结点的路径中,黑色结点数目都是一样的。3.如果一个结点是红色的,那么它的子节点必须是黑色的。2.根节点是黑色的,叶子结点都是空结点,都是黑色的。1.树的每一个结点有黑色和红色两种颜色。原创 2022-10-02 20:50:00 · 621 阅读 · 0 评论 -
二叉排序树
不断往二叉排序树里面添加新结点,第一个元素是根节点,比根节点小的放在左子树,比根结点大就放在右子树(所以相同一组数,如果给的顺序不一样,构建的二叉排序树结果也不一样,因为根节点不一样)(2)若删除的结点只有左子树或者只有右子树,则让左子树(或者右子树)代替这个被删除的结点即可。先写出这个二叉搜索树的中序遍历结果,这样就可以求出删除的这个节点的后序是哪个结点了。比根节点大,就去根节点的右子树中找,比根节点小,就去根节点的左子树中找...,先删除这个结点,然后将后序结点和这个删除的结点进行交换。原创 2022-10-02 20:10:54 · 1447 阅读 · 0 评论