
数据结构与算法
文章平均质量分 83
pjmike
这个作者很懒,什么都没留下…
展开
-
平衡二叉树的插入与删除
定义AVL树是带有平衡条件的二叉查找树。它要求在AVL树中任何节点的两个子树的高度(高度是指节点到一片树叶的最长路径的长) 最大差别为1,如下图所示:为什么有AVL树大多数BST操作,例如搜索,最大,最小,插入,删除等,消耗取O(h)时间,h是BST的高度。对于倾斜的二叉树,这些操作的成本可能会变成O(n)。如果我们在每次插入和删除之后确保树的高度保持O(Logn),那么我...原创 2018-08-09 22:10:50 · 9106 阅读 · 0 评论 -
死磕排序算法之堆排序
介绍堆排序就是利用堆这种数据结构来实现的一种排序算法,平均时间复杂度为O(nlogn),空间复杂度为O(1)堆堆是一种完全二叉树,即除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入堆有堆序性,每个结点的值都大于或等于其左右孩子的值,称为大顶堆,每个结点的值都小于或等于其左右孩子的值,称为小顶堆。图形演示这里Youtobe上有个讲heap sor...原创 2018-08-07 22:42:38 · 144 阅读 · 0 评论