数据结构
文章平均质量分 81
编程初丁
记录学习过程,分享点滴经验
展开
-
哈夫曼树
注:本文转载仅做个人学习备忘原文: http://blog.csdn.net/shuangde800/article/details/7341289一、哈夫曼树的概念和定义 什么是哈夫曼树?让我们先举一个例子。判定树: 在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制转载 2017-03-21 14:52:59 · 1116 阅读 · 0 评论 -
平衡二叉树原理
平衡二叉树简称平衡树,是由Adelson-Velskii和Landis于1962年首先提出的,所以又称为AVL树。他的定义很简单,就是若一棵二叉树的每个左右节点的高度差最多相差1,此二叉树即是平衡二叉树。把二叉树的每个节点的左子树减去右子树定义为该节点的平衡因子。二叉平衡树的平衡因子只能是1、0或者-1。平衡二叉树是对二叉搜索树(又称为二叉排序树)的一种改进。二叉搜索树有一个缺点就是,树的转载 2017-03-21 14:54:42 · 634 阅读 · 1 评论 -
B-树特征及插入删除操作总结
一. B-树特征和基本概念:B-树中所有结点孩子结点个数的最大值是B-树的阶。对于一个 m 阶的B-树(为了查找效率考虑,要求m >= 3):结构要求:1. 根节点至少有2个分支,1个关键字 2. 非根结点至少有 m/2(向上取整)个分支,(m/2) - 1 个关键字。3. 所有结点最多有 m 个分支,m - 1 个关键字。特点:1. 有 n 个分支的结点有 n -原创 2017-03-30 16:14:30 · 7837 阅读 · 2 评论 -
图解B+树并和B-树特点对比总结
摘要: 一, M阶B+树的定义(M阶是指一个节点最多能拥有的孩子数,M>2): 图1.1 3阶B+树 (1)根结点只有1个,分支数量范围[2,m]。 (2)除根以外的非叶子结点,每个结点包含分支数范围[[m/2],m],其中[m/2]表示取大于m/2的最小整数。一, M阶B+树的定义(M阶是指一个节点最多能拥有的孩子数,M>2):原创 2017-03-31 14:09:36 · 3893 阅读 · 0 评论 -
B+树与数据库索引
本文对两篇文章进行了提取总结:http://www.cnblogs.com/heiming/p/5865101.htmlhttp://www.ruzuojun.com/topic/420.html一、innodb存储引擎索引概述:innodb存储引擎支持两种常见的索引:B+树索引和哈希索引。innodb支持哈希索引是自适应的,innodb会根据表的使原创 2017-03-31 19:41:37 · 1556 阅读 · 0 评论 -
Java构建一颗二叉树
转自:http://ocaicai.iteye.com/blog/1047397目录: 1.把一个数组的值赋值给一颗二叉树 2.具体代码 注意:1. 父节点数组下标从0到 n/2 -1 ,但是遍历时要小于n/2-1,因为最后一个父节点可能没有右孩子,当n/2-1为奇数时才有右孩子,为偶数时只有左孩子。2. 结点左孩子下标为2n+1,右孩子下标为2n+2。1.转载 2017-04-02 13:35:52 · 12774 阅读 · 2 评论 -
给一个二叉树的前序和中序序列,求二叉树的层序序列
题目:给一个二叉树的前序和中序序列,求二叉树的层序序列(2017年去哪儿网春招笔试题)思路:给定前序序列和中序序列,可以唯一构造出一颗二叉树,再利用队列进行层序遍历二叉树即可。关键:一个前序遍历序列和一个中序遍历序列可以确定一颗唯一的二叉树。 根据前序遍历的特点, 知前序序列(PreSequence)的首个元素(PreSequence[0])为二叉树原创 2017-04-02 14:25:51 · 1778 阅读 · 0 评论 -
树的遍历-已知中序+(前序|后序)求(后序|前序)
首先我们先看一下已知前序,中序。求后序遍历的结果。[java] view plain copy print?package com.zjianhao.tree; /** * Created by 张建浩(Clarence) on 2016-5-22 21:21. * the author's website:原创 2017-04-02 14:47:33 · 874 阅读 · 0 评论