本章我们学习了对查找表的查找,查找表主要包括三种:线性表、树表和散链表。 (1)线性表的查找,主要包括顺序查找、折半查找、分块查找。 1)顺序查找算法简单,对表结构无任何要求,但查找效率较低,适用于不经常做插入和删除操作的线性表。 2)折半查找对表结构要求较高,查找效率也较高,适用于不经常做插入和删 ...
分类:
其他好文 时间:
2019-06-03 00:16:12
阅读次数:
129
本章内容主要为查找。 我们学习了顺序查找、二分查找、二叉排序树、平衡二叉树、B树、B+树。。 顺序查找可以通过设置监视哨来减少查找所需的平均时间,免去查找过程中每一步都要检测整个表是否查找完毕。 折半查找中需要注意的是,折半查找的时间复杂度不一定是log2n,因为需要先对顺序表进行排序,才能满足折半 ...
分类:
其他好文 时间:
2019-06-03 00:11:35
阅读次数:
131
什么是索引? 索引是为了加速对表中数据行的检索而创建的一种分散储存的数据结构。 工作原理: 通过我们建立的索引,可以通过命中后的磁盘地址快速的找到我们需要的表数据,比起全表扫描去查询数据,可以大大的提升查找效率。 在关系型数据库中,索引是硬盘级索引。 常见的数据结构 1)二叉树 二叉树相信大家都非常 ...
分类:
数据库 时间:
2019-06-01 21:16:05
阅读次数:
170
题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路分析: 首先要明确平衡二叉树的定义。平衡二叉是左右子树的高度差小于等于1,且左右子树都为平衡二叉树。这里就存在一个递归判断左右子树是否为平衡二叉树的操作。可以根据之前求二叉树的高度问题来求解,首先求得当前树的左右子树高度,若满足高度差小 ...
分类:
其他好文 时间:
2019-06-01 19:41:21
阅读次数:
89
set/multiset 的特性是所有元素会根据元素的值自动进行排序。set 是以 RB-tree(红黑树,平衡二叉树的一种)为底层机制,其查找效率非常好。set 容器中不允许重复元 素,multiset 允许重复元素。 set/multiset 的特性是所有元素会根据元素的值自动进行排序。set ...
分类:
编程语言 时间:
2019-05-25 21:25:41
阅读次数:
207
1.种类及概念: 二叉树是每个结点最多有两个子树的树结构。 完全二叉树:除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点。 满二叉树:每一层上的节点数都是最大节点数,深度为k,且有2^k-1个节点。 平衡二叉树:又被称为AVL树(区别于AVL算法),它是一棵二叉排 ...
分类:
其他好文 时间:
2019-05-25 09:58:26
阅读次数:
160
【题目】 平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过1。给定一棵二叉树的头节点head,判断这棵二叉树是否为平衡二叉树 【要求】 如果二叉树的节点数为N,要求时间复杂度为O(N) 【分析】 平衡二叉树要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超 ...
分类:
其他好文 时间:
2019-05-18 14:02:20
阅读次数:
133
前言碎语 记得第一次读到关于二叉树的插入与平衡的操作,是在《大话数据结构》里,当然觉得好像有那么一回事,但毕竟 纸上得来终觉浅,绝知此事要躬行 。看懂了,不代表自己就真的会了。当时算是有一个感性认识吧,因为没有自己动手实践过,所以理解的并不深刻。 今天是重新学习,并且是自己动手实现了一遍,才算有了一 ...
分类:
其他好文 时间:
2019-05-11 21:07:51
阅读次数:
138
一、什么是平衡二叉树 平衡二叉树(Self-Balancing Binary Search Tree 或者 Height-Balancing Binary Search Tree)译为 自平衡的二叉查找树或者高度平衡的二叉查找树,简称平衡二叉树,也叫 AVL 树,是一种二叉排序树。每个节点的左子树和 ...
分类:
Web程序 时间:
2019-05-06 01:22:50
阅读次数:
176
线段树不是完全二叉树,是平衡二叉树 堆也是平衡二叉树 堆满二叉树: h层,一共有2^h-1个节点(大约是2^h) 最后一层(h-1层)有2^(h-1)个节点 最后一层的节点数大致等于前面所有层节点之和 如果区间有n个元素,数组表示需要4n的空间 不考虑添加元素,使用4n的静态空间即可 ...
分类:
编程语言 时间:
2019-04-16 21:41:08
阅读次数:
231