数据结构链表和红黑树
数据结构链表
链表:linked list,由一系列结点node (链表中每一个元素称为结点)组成,结点可以在运行时i动态生成。
每个结点包括两个部分︰一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
查询侵:链表中地址不是连续的,每次查询元素都必须从头开始查询
增删快:链表结构,增加/删除一个元素对链表的整体结构没有影响,所以增删快
双向链表:
链表中的每一个元素也称之为—个节点
一个结点包含了一个数据源(存储致组),两个指针域(存储地址)
单向链表:链表中只有一条链子,不能保证元素的顺序(存储元素和取出元素的顺序有可能不一致)
双向链表:链表中有两条链子,有一条链子是专门记录元素的顺序,是一个有序的集合
数据结构红黑树
二叉树:binary tree ,是每个结点不超过2的有序树( tree ) 。
简单的理解,就是一种类似于我们生活中树的结构,只不过每个结点上都最多只能有两个子结点。
二叉树是每个节点最多有两个子树的树结构。顶上的叫根结点,两边被称作"左子树"和"右子树"。
红黑树本身就是一颗二叉树,将节点插入后,该树仍然是一颗二叉查找树,也就意味着该树的键值仍然是有序的。
特点::趋*与*衡树,查询的速度非常快,查询叶子节点最大次数和最小次数不能超过两倍
约束:
1.节点可以是红色的或者黑色的
2.根节点是黑色的
3.叶子节点(空节点)是黑色的
4.每个虹色的节点的子节点都是黑色的
5.任何一个节点到其每一个叶子节点的所有路径上黑色节点致相同
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix