数据结构
文章平均质量分 72
落禅
风吹柳叶遮黄雀,薄翅不知已落蝉
展开
-
队列的实现与应用
队列的实现与应用文章目录队列的实现与应用1.队列的基本概念2.C++STL中队列的实现3.队列的模拟实现1.队列的基本概念队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能原创 2021-04-20 20:40:38 · 1120 阅读 · 14 评论 -
双向带头循环链表
双向带头循环链表1.双向带头循环链表的概念如上图所示,即为一个最简单的双向循环链表的示意图,链表中每一个结点都由三部分组成,包括数据域,next指针,prev指针其中,next指针指向下一个结点,prev指针指向它的前一个结点,这样一来就构成了一个头尾相连的双向循环链表,需要注意的是上面第一个头结点不存储数据,只是作为一个标记作用,使它找到下一个结点和尾结点2.双向带头链表的实现1.定义结点结构每一个结点由3部分组成,数据域,next指针,prev指针,故定义一个结构体存储这三部分内容`t原创 2021-04-17 20:27:16 · 614 阅读 · 10 评论 -
顺序表
顺序表的基本概念顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中顺序表的实现方式顺序表一般利用数组+动态内存管理实现,一般设置特定的接口方便后续调用;我们要利用顺序表实现简单数据的增删查原创 2021-04-02 20:33:41 · 2232 阅读 · 18 评论 -
时间复杂度与空间复杂度
我们知道一个程序最核心的两部分是算法和数据结构,而算法的执行效率取决于时间效率和空间效率,这就引出了时间复杂度与空间复杂度的概念,下面我们来学习一下时间复杂度与空间复杂度1.时间复杂度1.1时间复杂度的概念算法中的基本执行次数,为算法的时间复杂度我们用大O的渐进表示法来表示时间复杂度// 请计算一下Func1基本操作执行了多少次?void Func1(int N){ int count = 0; for (int i = 0; i < N; ++i) { for (.原创 2021-03-27 17:55:21 · 80 阅读 · 1 评论