草草整理一下,以后再完善一点 堆排序的复杂度是比较稳定的$O(nlgn)$,并且具有空间原址性。 二叉堆是一个是一个数组,通过类似线段树的方式来表示父结点和子结点 其中1结点代表根,在大根堆中代表最大的数 任何子结点在循环前都可以看作一个平凡堆 大根堆中,每个结点都要比它的子结点大,维护这个性质,只 ...
分类:
编程语言 时间:
2020-04-08 20:53:12
阅读次数:
69
以二叉链表作为二叉树的存储结构,交换二叉树中每个结点的左孩子和右孩子。 输入格式: 输入二叉树的先序序列。 提示:一棵二叉树的先序序列是一个字符串,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。 输出格式: 输出有两行: 第一行是原二叉树的中序遍历序列; 第二行是交换后的二叉树 ...
分类:
其他好文 时间:
2020-04-08 12:06:10
阅读次数:
932
问题描述: 给定一个链表的头结点head和一个整数num,请实现函数将值为num的节点全部删除。 例如:链表为1->2->3->5->3->6->null,num=3,调整后的链表为: 1->2->5->6->null 算法实现: public class Node { public int val ...
分类:
其他好文 时间:
2020-04-07 22:34:30
阅读次数:
90
// 面试题55(二):平衡二叉树 // 题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中 // 任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 #include <cstdio> #include "BinaryTree.h" // 方法1 int Tree ...
分类:
其他好文 时间:
2020-04-07 20:52:04
阅读次数:
66
思路(证明有环): 定义快慢指针fast和slow,fast每次前进两步,slow每次前进一步; 当fast和slow在到达链尾之前相遇的话,就证明有环(类似于在操场上跑步跑的慢的被快的套圈但总会遇到); 思路(找环结点): fast和slow相遇之后,fast不动,slow回到最初的起点,然后一步 ...
分类:
其他好文 时间:
2020-04-07 14:22:21
阅读次数:
80
"1073. 树的中心" 给定一棵树,树中包含 n 个结点(编号1~n)和 n?1 条无向边,每条边都有一个权值。 请你在树中找到一个点,使得该点到树中其他结点的最远距离最近。 输入格式 第一行包含整数 n。 接下来 n?1 行,每行包含三个整数 ai,bi,ci,表示点 ai 和 bi 之间存在一 ...
分类:
其他好文 时间:
2020-04-07 12:23:11
阅读次数:
119
题目大意: mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子。 mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件,第i个妹子安装时间为。 树上的每条边mhy能且仅能走两次,每次耗费1单位时间。mhy送完所有电脑后会回自己家里然后开始装zhx ...
分类:
其他好文 时间:
2020-04-07 12:21:13
阅读次数:
77
"【Farm Craft】" 【题目描述】 mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子。 mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件,第i个妹子安装时间为。 树上的每条边mhy能且仅能走两次,每次耗费1单位时间。mhy送完所有电 ...
分类:
其他好文 时间:
2020-04-07 09:25:08
阅读次数:
62
最近公共祖先问题与Tarjan离线算法 最近公共祖先问题 树上两点的最近公共祖先问题(LCA Least Common Ancestors) 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。 ...
分类:
编程语言 时间:
2020-04-07 00:31:59
阅读次数:
103
心得体会:经过一周的学习,初步理解顺序表、单链表的概念及初步应用,像顺序表,存储空间一定是连续的,而链表则可以通过指针指向下一个结点的地址,从而使链表的存储空间不连续,真的是很神奇的概念目前存在的困难:不能完全靠自己独立地写出ADT的定义和一些具体的操作,对我现在来说还是有点难度的。不过我相信熟能生 ...
分类:
其他好文 时间:
2020-04-06 20:26:29
阅读次数:
95