数据结构简介
发布日期:2021-06-30 10:11:46 浏览次数:3 分类:技术文章

本文共 562 字,大约阅读时间需要 1 分钟。

1.数组

数组的内存是连续的,所以可以直接地访问我们要查找的0(n),具有很好的时间效率。

2.vector

为了解决数组空间效率不高的问题,我们使用动态数组,当往数组中添加数组空间不足时,我们使用一块更大的空间,是之前的两倍,将之前的数据复制过来,然后将原来的数组释放掉,这样会造成性能上的影响,所以要尽量减少改变数组大小的次数。

3.字符串

C++中我们在字符串的末尾添加一个‘\0’字符。

为了节省空间,我们把字符串放在一个单独的空间中,如果我们使用多个指针赋值同一个字符常量,那么它们实际上会指向相同的地址内存,而如果是多个数组赋值同一个字符常量将会不同。

4.链表

链表是一种动态的数据结构,我们在创建链表时,无需知道链表的数据长度,可以随时添加。链表由节点组合而成,结构多样,使用方便,例如环形链表,双向链表还有复杂链表。

5.树

树是一种特殊的结构,根节点没有父节点,叶节点没有子节点,最常用的是二叉树,通常用于遍历,如前序遍历,中序遍历,后序遍历,即根左右,左跟右,左右根的方式遍历。

而每种遍历都有递归和循环两种不同的实现方式。特例有堆,二叉搜索树和红黑树等。

6.栈和队列

栈是一种先进后出的结构,队列是一种先进先出的结构,可以使用两个栈来实现队列,也可以使用两个队列来实现栈,两者看似相反而又联系密切。

转载地址:https://islet.blog.csdn.net/article/details/74996423 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:算法总览
下一篇:全局变量与局部变量的定义关系

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年05月02日 04时50分52秒