logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

(超详细)数据结构——“栈”的深度解析

在前几章我们介绍了线性表的基本概念,也讲解了包括顺序表,单链表,双向链表等线性表,相信大家已经对线性表比较熟悉了,今天我们要实现线性表的另一种结构——栈。

文章图片
#数据结构#c语言#visualstudio
常用排序算法(下)

1. 快速排序整体的综合性能和使用场景都是比较好的,所以才敢叫快速排序2. 时间复杂度:O(N*logN)3. 空间复杂度:O(logN)4. 稳定性:不稳定。

文章图片
#排序算法#算法#c语言 +2
数据结构——树的基础概念

目录1.树的概念2.树的相关概念 3.树的表示(1)直接表示法(2)双亲表示法 (3)左孩子右兄弟表示法4.树在实际中的运用(表示文件系统的目录树结构)树是一种非线性的数据结构,它是由n(n>=0个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。我们现实中的树是这样的:而我们数据结构中的树是这样的:有一个特殊的结点,称为根结点,根结点没有

文章图片
#数据结构#算法
数据结构——链式二叉树的实现与分治编程思维(c语言实现)

在之前的学习中,我们初步学习了二叉树的概念和实现二叉树的顺序结构,最主要的是使用二叉树的顺序结构建堆,从而实现堆排序,这一章我们要学习的是二叉树的另一个结构——二叉树的链式结构,与顺序结构不同的是,顺序结构的底层是一个数组,链式结构是使用递归将多个结点链接起来组成的二叉树,讲到这里,递归还不是很熟悉的小伙伴需要回去复习递归的知识才能更好的理解链式二叉树的实现,话不多是,我们马上开始这一期的学习吧。

文章图片
#数据结构#c语言#算法 +1
数据结构——带头双向循环链表(c语言实现)

我们在前几期详细地讲解了不带头单向不循环链表(单链表),使用它的底层代码实现了一个简单的通讯录项目,也介绍了链表分为八种,但是其中最常用的只有两种:(1)不带头单向不循环链表,(2)带头双向循环链表,今天我们要讲解的就是第二种带头双向循环链表。

文章图片
#数据结构#链表#c语言 +1
(超详细)数据结构——“队列”的深度解析

队列与栈都是线性表,它们的结构也非常类似,都是一头进一头出,那么它们有什么区别吗?答案是有的,虽然它们同为线性表,但是栈的出栈入栈方式为后进先出,而队列的出栈入栈方式为先进先出,具体我们在正文讲解。

文章图片
#数据结构#visualstudio
数据结构:为什么说链表是顺序表的升级版(c语言实现单向不带头单链表)

我们在之前的几篇文章中详细的讲解了顺序表的特点,增删改查操作和动态顺序表的优点,并使用顺序表的底层结构实现了通讯录项目,似乎顺序表是一个非常完美的数据结构,它可以实现按照需求实现增删查改,对内存的控制也较为合理,空间都是在需要时手动开辟的。但是顺序表真的完美吗?事实上它并不完美,经过我们思考,顺序表还是存在一些问题,例如:(1)。这些问题都是我们应该考虑的,而我们接下来要介绍的另一种数据结构——链

文章图片
#c语言#数据结构#链表 +1
到底了