![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法设计
文章平均质量分 86
雨的微笑
诗酒趁年华
展开
-
堆与堆排序之初见
堆(本文只提二叉堆,当然也有多叉堆)作为一种数据结构,是一个数组,可以被看成是一个近似的完全二叉树,树上的每一个节点对应数组中的一个元素,并且除了最底层节点外,该树是完全充满的,而且是从左向右依次填充。我们目前经常听到的名词“堆”已经被引申为“垃圾收集存储机制”,但本文提及的“堆”指的是堆数据结构。为了后续描述方便,我们定义堆的数组为H,用H.length表示堆数组的大小,用H.size表原创 2016-04-04 13:59:55 · 821 阅读 · 0 评论 -
深入理解二叉搜索树(BST)
一棵二叉搜索树(BST)是以一棵二叉树来组织的,可以用链表数据结构来表示,其中,每一个结点就是一个对象,一般地,包含数据内容key和指向孩子(也可能是父母)的指针属性。如果某个孩子结点不存在,其指针属性值为空(NIL)。二叉搜索树中的关键字key的存储方式总是满足二叉搜索树的性质:设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么会有y.key=x.key。二原创 2016-04-04 19:57:02 · 39786 阅读 · 10 评论