数据结构简介
发布日期: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秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 自定义函数实现split功能,支持超长字符串和clob类型的分隔
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle通过pivot和unpivot配合实现行列转换
2019-04-30
给Oracle数据库换一个1522端口的监听
2019-04-30
Excel表格数据生成ECharts图表
2019-04-30
阿里云短信服务python版,pyinstaller打包运行时缺少文件
2019-04-30
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
WebService的简单案例记录(Java)
2019-04-30
Html利用PHP与MySQL交互
2019-04-30
dos简单命令
2019-04-30
mysql的安装与卸载与Navicat远程连接
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
Flutter 使用插件打开相册、相机
2019-04-30
libuv实现tcp代理服务器
2019-04-30
libuv使用不当导致的内存泄漏
2019-04-30
libuv实现ping包发送和接收
2019-04-30