1、什么是B树(B-树)? B树是一种m阶树,m>=2 性质: 1)树中每个结点至多m个孩子; 2)对于根结点,子树个树取值范围为[2,m],关键字个数范围[1,m-1]; 3)对于非根非叶结点,子树个数取值范围为[ceil(m/2),m],关键字个数范围为[ceil(m/2)-1,m-1]; 4) ...
分类:
其他好文 时间:
2016-11-22 01:55:23
阅读次数:
253
最小生成树 1.定义 2.kruskal 算法 3.Prim 算法 1.定义 G=(V,E)为连通无向图,V为结点的集合,E为结点的可能连接边 对每条边(u ,v)都赋予权重w(u ,v) 目标:找到一个无环子集T, 既能将所有结点连接起来,又具有最小权重。 T是由G生成的树,并把这种问题叫做最小生 ...
分类:
其他好文 时间:
2016-11-20 11:17:58
阅读次数:
176
题意:输入n(1 <= n <= 1000),输出有n个结点且每个深度中所有结点的子节点数相同的树有多少种。 根据题意,其实要求每个子树都相同。 一个结点当作根节点,还剩下n - 1个结点,枚举n - 1的因子(因子当作紧邻根结点的子树中的结点数),然后将所有因子的答案相加即可。 代码如下: ...
分类:
其他好文 时间:
2016-11-02 23:08:15
阅读次数:
107
【题意】 平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方。 另外还有q(0<=q<=8)个套餐,可以购买,如果你购买了第i个套餐,该套餐中的所有结点将变得相互连通,第i个套餐的花费为ci。 求最小花费。 Input ( ...
分类:
其他好文 时间:
2016-11-02 00:11:50
阅读次数:
275
虽说我们很多时候前端很少有机会接触到算法。大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面。实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路。下面罗列在前端面试中经常撞见的几个问题吧。 ...
分类:
编程语言 时间:
2016-10-26 06:51:43
阅读次数:
195
题意: 求树上距离小于等于K的点对有多少个 思路: 每次分治,我们首先算出重心,为了计算重心,需要进行两次dfs,第一次把以每个结点为根的子树大小求出来,第二次是从这些结点中找重心 找到重心后,需要统计所有结点到重心的距离,看其中有多少对小于等于K 但是这些求出来满足小于等于K的里面只有那些路径经过 ...
分类:
其他好文 时间:
2016-10-22 14:40:16
阅读次数:
282
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树; (4)没有键值相等的结点。 例题: 解答: 在这种结构下,中序遍历一颗二叉 ...
分类:
编程语言 时间:
2016-10-20 11:51:56
阅读次数:
143
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点 ...
分类:
其他好文 时间:
2016-10-05 00:39:17
阅读次数:
104
二叉树遍历: 从根结点开始,按照某种次序依次访问二叉树中的所有结点。 前序遍历: 中序遍历: 后序遍历: 层次遍历: 代码实现: ...
分类:
其他好文 时间:
2016-10-03 18:59:40
阅读次数:
106
一,问题描述 给定一颗二叉树,已知其根结点。 ①计算二叉树所有结点的个数 ②计算二叉树中叶子结点的个数 ③计算二叉树中满节点(度为2)的个数 二,算法分析 找出各个问题的基准条件,然后采用递归的方式实现。 ①计算二叉树所有结点的个数 1)当树为空时,结点个数为0,否则为根节点个数 加上 根的左子树中 ...
分类:
其他好文 时间:
2016-09-26 21:31:29
阅读次数:
144