树
q269625060
这个作者很懒,什么都没留下…
展开
-
二叉树简介
一、为何出现二叉树 常见的数据结构,有数组和链表,但是数组查找快、增删慢(数组长度变化引起),链表增删快、查询慢(一个个节点遍历),有没有一种数据结构即可以满足查询快、增删也快?这时二叉树由此而生。仅代表个人观点。二、树的概念 节点:包含一个元素以及若干若干指向子树的分支 根节点:孩子节点的根 子节点:根节点的孩子。 叶子节点...原创 2019-09-30 10:10:27 · 206 阅读 · 0 评论 -
二叉树的前序、中序、后序查找
一、定义 二叉树可以通过三种方式遍历树的节点,分别是前序、中序和后序。 前序:根节点->左节点->右节点 中序:左节点->根节点->右节点 后序:左节点->右节点->根节点总结,根据根节点的输出位置理解前序、中序和后续。二、代码 public Hero preSearch(in...原创 2019-09-30 15:02:30 · 1183 阅读 · 0 评论 -
二叉树删除节点
一、要求 1.没子节点时,直接删除 2.有子节点时,删除该节点。 如果该节点有左节点,则左节点为父节点,右节点不变,如果没只有左节点或者右节点,则直接提升为父节点。二、代码树根节点删除 public Hero delNode(int no) { Hero hero = null; if(this.r...原创 2019-09-30 15:08:35 · 666 阅读 · 0 评论 -
线索二叉树
一、定义 对二叉树的节点加上线索的二叉树,叫做线索二叉树二、原理 从百度中查到定义,对于n个结点的二叉树,在二叉链存储结构中有n+1个空链域,利用这些空链域存放在某种遍历次序下该结点的前驱结点和后继结点的指针,这些指针称为线索,加上线索的二叉树称为线索二叉树。这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据...原创 2019-10-09 21:23:31 · 92 阅读 · 0 评论 -
堆排序
一、定义 是指用树的结构,利用树与数组的对应关系遍历数组。左子树为:2*n+1,右子树为:2*n+2;最后一个父节点的位置为:arr.length/2-1,倒数第二个父节点为:arr.length/2-1二、思想1.根据升序和降序而定,构建成一个大顶堆或者小顶堆,2.将堆顶元素和末尾元素交换3.重新调整结构,满足大顶堆或者小顶堆,将堆顶元素和末尾元素交换,反复执...原创 2019-10-10 23:12:42 · 70 阅读 · 0 评论