【C++】常用数据结构纲要(简易版)

非静无以成学。——诸葛亮


1、什么是数据结构呢?

如果让我现在来看的话,数据结构是什么,我觉得就是数据存储的一种方式,在特定条件要求之下存储的数据能够在我们需要的条件下实现高效的优化。换简单的话说,这就是像是,你即使在你自己的书房中找自己的书本,都可能比你去图书馆问图书管理员找到一本特定的书的时间长,因为图书馆存储书的时候是会根据特定的方式去存储(换句话说这时候的数据就像是按照特定的一种数据结构存储,而你自己的却像是没有做过处理的数据)。
所以学习数据结构是为了方便对于不同数据然后解决不同问题时候的加快速度和效率的方式。

2、讲述过的结构

2、1、前言

对于之前讲过的数据结构来说的话,会详细的讲解这些类似的特点,或者其中有关于模拟实现时候的会出现的比较容易出错的地方。这里的讲述是概括,同时也是对于之前文章以及知识点的回顾。
我在写这篇文章的时候也知道了前几篇文章的一些优缺点,已近创建文件夹准备在之前文章的基础上加上番外。等这篇写完+Linux差不多之后就可以正式“启航”。

2、2、树->二叉树->两种平衡二叉树

这个部分就是概括一下之前讲过的一些数据结构,像是之前的由树的结构一步一步的推导得到树的结构的作用,树结构的缺点和可能实现的数据结构的形式,由此一步一步的深入,让我们知道,树结构的明显缺陷是不能够有多大的意义,就是说,一个父节点如果有太多的子节点的话可能会造成数据的冗杂,我们如果想通过父节点找到子节点的话可能没有太多的优势如果说,一个父节点直接拥有的子节点就是剩下来的所有数据的话,显然,是一个又臭又长的,没有意义的树结构
所以在此基础之上,我们学习二叉树,二叉树就是在树的基础之上进行的改进,让父节点只有两个子节点,并且依次下去。当子节点作为父节点的时候,其的子节点也只能最多有两个。此时的话,如果将我们的数据导到这样的数据结构,根据特定的排序方式能够实现最终在查找等方面上实现 对数级别的优化。当然对数级别的优化是存在的,但是往往现实中也会出现一些比较巧合的时刻,会对我们的二叉树进行降维打击,把一个我们辛辛苦苦维护起来的树给弄成链表,还是单链表的结构。如果想要了解更多,或者说之前学过,但是现在忘记了的话,可以看看作者之前写的关于树结构的文章。
这是一个入门级的关于树的文章。
这是一个扩展关于二叉树的文章。
这是一个优化二叉树缺点的文章一。AVL树
这是一个优化二叉树缺点的文章二。红黑树
其中好像是少讲了一个数据结构关于二叉树拓展,堆结构。这个在这个月一定会出的!(立下flag=1)

2、3、单链表->双链表->带有哨兵位的链表

对于单链表来说,这里介绍了单链表,以及讲述了单链表的实现方式,可能存在的问题(包括开始时候创建头节点需要用到二级指针之类的问题)。
这里的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值