
数据结构
qq_45411328
这个作者很懒,什么都没留下…
展开
-
线索化二叉树
前驱节点和后继节点上面的二叉树经过中序遍历后的结果为:4 2 5 1 6 3那么2的前驱节点为4,2的后继节点为5,4没有前驱节点,3没有后继节点。线索化二叉树中序线索化二叉树如上图可以看到4,5,6的左右指针都为空,当这些指针为空时,将左指针指向前驱节点,右指针指向后继节点,这就是线索化二叉树。举两个例子:以4节点为例它的左指针应该为null,右指针应该指向节点2,因为节点2是节点4的后继节点以5节点为例那么它的左指针应该指向节点2,右指针应该指向节点1代码实现先创建树节点的原创 2020-08-29 16:43:08 · 171 阅读 · 0 评论 -
二叉树的前中后序查找
二叉树的查找前序查找:1.先找这个节点是不是满足条件的元素如果是就返回这个节点2.如果这个节点的左子节点不为空就递归查找这个节点左子节点3.如果在左子节点找到满足条件的元素就返回4.如果左子节点没有找到那么递归查找右子节点,最后返回这个node(如果找不到的话这个node为null)//前序查找 public Node proSearch(int no){ if(this.no == no){ return this; } Node node = null; if(thi原创 2020-08-22 14:53:31 · 145 阅读 · 0 评论 -
二叉树的前中后序遍历
二叉树有一个根节点,每一个节点都有自己的左节点和右节点。遍历前序遍历:1.先遍历这个节点2.在看左节点有没有元素有的话就左节点递归前序遍历3.再看右节点有没有元素有的话就右节点递归前序遍历中序遍历1.先看左节点有没有元素有的话就左节点递归中序遍历2.遍历这个节点3.再看右节点有没有元素有的话就右节点递归中序遍历后序遍历1.先看左节点有没有元素有的话就左节点递归后序遍历2.再看右节点有没有元素有的话就右节点递归后序遍历3.遍历这个节点总结前序遍历就是先遍历这个节点中序遍历就是原创 2020-08-22 11:24:22 · 251 阅读 · 0 评论 -
环形单链表解决约瑟夫问题
约瑟夫问题约瑟夫问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。package yueshefu;//约瑟夫问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。//例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。public class SingleLinkedList { public static void main(String[] args) { SingleLinkedList s = new S原创 2020-08-03 10:22:03 · 200 阅读 · 0 评论