![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 64
程序_猫
这个作者很懒,什么都没留下…
展开
-
八大常用排序算法(堆排序,冒泡排序,快速排序,归并排序,桶排序等)不同数据量的时间效率比较
#include<iostream>#include<vector>#include<windows.h>#include<random>constexpr auto sumSize = 10000;//设置想要的数据using namespace std;template<typename T> void selectSorted(vector<T>& array, const int length)//...原创 2021-12-29 17:21:38 · 449 阅读 · 0 评论 -
平衡二叉搜索树插入与删除(AVL)
1.为何要引入平衡二叉搜索树 我们知道,二叉搜索树(BST)已经有比较好的查找,插入和删除的效率。但是为什么不满足于二叉搜索树呢?我们来看一种情况,如图1-1: 从中可以看到,该树仍满足二叉搜索树的定义,但是,查找效率已经从O()退化为O(n)级别。变成的了一个链表了。我们看到引起这种变化的根本原因是深度的加深和左右子树失衡导致的。平衡二叉树为了解决这种失衡导致算法效率的退化。2.AVL树的定义平衡因子:在满足二叉搜索树的条件下,对任意结点其左右子树的深度...原创 2021-08-03 18:45:21 · 832 阅读 · 0 评论 -
二叉搜索树(BST)
1.概念1.1二叉树的定义与其他数据结构一样,二叉搜索树也是由一组数据项所构成的集合。二叉搜索树是一种查找、插入和删除效率都很好的一种数据结构。首先,判断一个树是否为二叉搜索树应该满足以下几点:1.该树首先是二叉树。2.对于任意结点点,如果该结点的左子树存在,左子树上的点都不比该结点更大,如果右子树存在,右子树上的点都不比该结点小。如图1-1,展示了一棵二叉搜索树。1.2二叉搜索树访问方式 数据项之间,依赖各自关键码彼此区分,通过查询关键码查找对应的值。我们称这种访问为...原创 2021-07-23 12:20:48 · 310 阅读 · 0 评论