摘要 如果使用线性表存放 n 个元素时,时间复杂度是 O(n)。如果使用二分法搜索,可以降低时间复杂度,为 O(logn),但是添加和删除的平均时间复杂度是 O(n)。 使用二叉搜索树,可以让添加、删除、搜索的最坏时间复杂度优化到 O(logn)。 二叉搜索树,英文 ...
我们在前面介绍了很多典型的线性结构,如队列,堆栈,数组,她们至多只有一个尾节点。这是非常容易理解的。 下面我们要来介绍一个非线性结构,树 tree : 树不在是一对一的数据结构,而是一对多的非线性连接: 这里有几个规定: 图中的结构就像一棵倒过来的树,最顶部的节点就是 根节点 root 节点 每棵树至多只有一个根节点 根节点生出多个孩子节点,每个孩子节点只有一个父节点,每个孩子节点又生出多个孩子 ...
2017-10-08 04:10 0 5031 推荐指数:
摘要 如果使用线性表存放 n 个元素时,时间复杂度是 O(n)。如果使用二分法搜索,可以降低时间复杂度,为 O(logn),但是添加和删除的平均时间复杂度是 O(n)。 使用二叉搜索树,可以让添加、删除、搜索的最坏时间复杂度优化到 O(logn)。 二叉搜索树,英文 ...
AVL 树 是最早时期发明的自平衡二叉搜索树之一。是依据它的两位发明者的名称命名。 AVL 树有一个重要的属性,即平衡因子(Balance Factor),平衡因子 == 某个节点的左右子树高度差。 AVL 树特点总结下来有: 每个节点的平衡因子有且仅有 1、0、-1,若超过这三个值 ...
前言 在【算法04】树与二叉树中,已经介绍过了关于树的一些基本概念以及二叉树的前中后序遍历,而这篇文章将是在二叉树的基础上来展开讲解的二叉搜索树,也就是说二叉搜索树建立在树的基础之上。至于博主为何要花一整篇文章来讲这个二叉搜索树呢?原因很简单,红-黑树是基于二叉搜索树的,如果对二叉搜索树不了解 ...
Alan-song 数据结构目录树 数据结构基本概念 什么是数据结构? 数据之间的结构关系 逻辑结构(关系) 存储结构(关系) 线性表 线性表的顺序存储 线性表 ...
数据结构与算法基础: 顺序存储结构 链式存储结构 什么是树结构?为什么使用树结构?树的基本概念 二叉树: 任何一个节点的子节点数量不超过2 二叉树的子节点分左节点和右节点 满二叉树:所有的叶子节点都在最后一层,而且节点总数为2的n次方-1【n是树的高度 ...
一.算法 算法的基本概念(笼统): 解答某一类问题的任意一种特殊的方法。 一组又穷的规则,它规定了解决某一特定类型的问题的一系列运算。简而言之,就是解决问题的方法的步骤,是解题方案准确为完整的描述。 根据算法编写出相应的计算机语言的程序,让计算机去执行完成它,就可以提高 ...
上一章我们说了常见的10种数据结构,接下来我们说常见的10种算法。 上一章地址:基础夯实:基础数据结构与算法(一),不怎么清楚的可以去瞅瞅。 常见的10种算法 数据结构研究的内容:就是如何按一定的逻辑结构,把数据组织起来,并选择适当的存储表示方法把逻辑结构组织好的数据存储到计算机 ...
数据结构与算法 数据结构(英语:data structure)是计算机中存储、组织数据的方式。 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。 不同种类的数据结构适合于不同种类的应用 ...