
数据结构
andy1515
半路程序员
展开
-
堆排序理解
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个...原创 2020-04-14 09:02:12 · 254 阅读 · 0 评论 -
c++ STL 整理20200409
感谢https://www.cnblogs.com/pullself/p/10049657.html#jump C++ 常用STL整理 容器和配接器 list(链表) list可以认为是一个线性的双向链表,具有链表的特性,不使用连续的内存空间,可以快速的插入和删除,不支持随机的内部访问。使用需包含include<list>头文件,std命名空间。 常用使用方法: 1.创建实...原创 2020-04-09 10:21:40 · 144 阅读 · 0 评论 -
数据结构---队列20200408
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。 那么我们如何判断队列是空队列还是已满呢? a、栈空: 队首标志=队尾标志时,表示栈空。...原创 2020-04-08 10:41:26 · 125 阅读 · 0 评论 -
数据结构-二分查找
折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。 例如,在{5,21,13,19,37,75,56,64,88 ,80,92}这个查找表使用折半查找算法查找数据之前,需要首先对该表中的数据按照所查的关键字进行排序:{5,13,19,21,37,56,64,75,80,88,92}。 在折半查找之前对查找表...原创 2019-12-28 14:46:26 · 599 阅读 · 0 评论