【数据结构与算法分析】0基础带你学数据结构与算法分析10--树和森林
其实作为树的最后一点内容并没有多少,主要探讨树、森林、二叉树的关系,以及在严蔚敏老师的数据结构中提到的其他有关树的一些实现方式。树的其他实现方式父结点表示法如果我们将所有结点放入一个顺序存储中,以下标直接存取结点,并在结点中表示其父结点的下标孩子表示法我们对父结点表示法稍加修改,结点中不再存放其父结...
【数据结构与算法分析】0基础带你学数据结构与算法分析09--线索二叉树 (TBT)
如果一棵二叉树,所有原本为空的右孩子改为指向该结点的中序遍历的后继,所有原本为空的左孩子改为指向该结点的中序遍历的前驱,那么修改后的二叉树被称为 线索二叉树 (Threaded binary tree, TBT)。指向前驱、后继的指针被称为线索,对二叉树以某种遍历顺序进行扫描并为每个结点添加线索的过...
【数据结构与算法分析】0基础带你学数据结构与算法分析08--二叉查找树 (BST)
假设树上每个结点都存储了一项数据,如果这些数据是杂乱无章的插入树中,那查找这些数据时并不容易,需要 O(N) 的时间复杂度来遍历每个结点搜索数据。如果想要时间复杂度降到 O(logN) ,则需要在常数时间内,将问题的大小缩减。如果为一个结点加上限制,比如子树上的值总比当前结点的值大,而另一边总比当...
【数据结构与算法分析】0基础带你学数据结构与算法分析07--二叉树
在学习上一章后,我们对树加以限制,如果树的度为 2,那么就称这颗树为 二叉树 (binary tree)。二叉树的性质在一棵二叉树上,有一些重要的性质:第 i 层 (i∈N) 上最多有 2^(i−1) 个结点层次为 k(k∈N) 的树最多有 2^k−1 个结点如果叶结点的数量为 n0 , degre...
【数据结构与算法分析】0基础带你学数据结构与算法分析06--树(TREE)
前言Tree 是一些结点的集合,这个集合可以是空集;若不是空集,则 Tree 是由称为 根 的结点 r 以及零或多个非空的子树 T1,T2,⋯ , 组成,这些子树的根都与 r 有一条有向边 (edge) 连接。这些子树的根被称为根 r 的孩子 (child),而 r 是这些 child 的父亲 (p...
【数据结构与算法分析】0基础带你学数据结构与算法分析05--串 (string)
前言串是一种特殊的线性结构,它的内部元素只存储字符,因此又称为字符串。其特殊性主要来源于我们对字符序列的依赖程度很高,而特化一个线性结构并为其增加一些针对于字符的常用算法,可以方便我们的使用,提高编码效率。在大部分的实现中,string 都有一个标志结尾的字符 \0 ,其 ASCII 值为 0&am...
【数据结构与算法分析】0基础带你学数据结构与算法分析04--队列 (Queue)
前言Queue 也是一种受限的线性结构,其末尾被称为队尾 (rear),而头部被称为队首 (front)。向队列中添加元素被称为 入队 (enqueue),enqueue 只能在队尾操作;从队列中移除元素被称为 出队 (dequeue),dequeue 只能在队首操作。因此这种数据结构也被称为 先进...
【数据结构与算法分析】0基础带你学数据结构与算法分析03--栈 (Stack)
Stack 是一种受限的线性结构,其末尾称之为 栈顶 (top),元素进入栈称为 入栈 (push),从栈中移除称为 出栈 (pop)。push 只能从 top 进行,元素加入结构的末尾; pop 也只能从 top 进行,移除的元素总是 top 的元素。由于其受限的特性,导致了数据只能以 先进后出 ...
【数据结构与算法分析】0基础带你学数据结构与算法分析02--表(List)
前言 Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.— Stan Kelly-Bootle表 (List)我们将形如 a...
【数据结构与算法分析】0基础带你学数据结构与算法分析01--基础数学知识
前言I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more impo...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
产品推荐
社区圈子