数据结构
啊呦ss
这个作者很懒,什么都没留下…
展开
-
数据结构
1. 为什么文件系统用B树,数据库用B+树而不用hash.业务场景不同。如果只是单个数据的索引,用hash,因为它的时间复杂度事O(1).而数据库索引时一般选择多条数据,B+树由于是有序的,并且又有链表相连,因此可以提高查询效率。而且数据库的索引一般在磁盘上。因此数据量大的情况可能无法保障一次性将数据加载到内存,B+树可以保障数据分批加载,并且树的高度也低,提高查找的效率。二叉排序树插入...原创 2020-03-03 22:19:13 · 84 阅读 · 0 评论 -
1. 深度优先vs广度优先
注:树的定义本身就是递归定义。1.深度优先包括 前、中、后序遍历。public void preOrderTraversel(TreeNode root) { if(root!=null){ System.out.print(root.val+" "); preOrderTravelsel(root.left); preOrderTravesel(root.right);...原创 2020-02-25 23:10:36 · 77 阅读 · 0 评论 -
时间空间复杂度
1. 算法时间复杂度一条语句执行一次所需时间设为单位时间,则该条语句重复执行的时间为该语句的频度。一个算法的执行时间就是所有语句的执行时间之和。用T(n)表示时间复杂度(渐进时间复杂度)。一般所指复杂度指最坏情况下的复杂度。2. 空间复杂度用S(n)表示。3. 逻辑结构和存储结构逻辑结构是从具体问题中抽象出来的数学模型。通常有四种:集合结构,线性结构,树形结构,图形结构。存储结构是逻辑...原创 2019-05-30 11:12:55 · 79 阅读 · 0 评论 -
树与二叉树
@[数据结构-树与二叉树](这里写自定义目录标题)结点的度: 结点拥有的子树数称为结点的度。树的度: 树中结点的子树最多的子树数称为树的度。叶子: 度为0的结点称为叶子或终端结点。祖先: 从根到该结点所经历分支上的所有结点。树的深度: 树中的结点最深/大层次称为树的深度。 根节点为第一层。森林: m(m≥0)棵互不相交的树的集合。 对于树中每个结点而言,子树组成的集合就是森林。 ...原创 2019-05-29 20:50:48 · 68 阅读 · 0 评论