![](https://i-blog.csdnimg.cn/direct/e57c9da11d3f41fabcced205bdb7bc5f.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 67
分享学习数据结构的各种心得
Heartoxx
简单一点
展开
-
数据结构-二叉搜索树与红黑树
eg:这里我们查找下图 值为5的节点,根据二叉搜索树的特点,首先我们要从结点开始,由于5比10小走左边到6的位置,由于5比6小继续走左边到4的位置,而5比4大故走右边,这里就找到5了,这里一共进行了3次对比找到了5。其他节点的查找方法也是这样。删除搜先要从查找操作开始,因为需要查找到目标添加位置,时间复杂度为O(logn),删除完成后,为了保证满足红黑树的特质即规则,故需要进行时间复杂度为O(1)的旋转调整操作。这种情况就从二叉树退化为了链表,而链表的时间复杂度为O(n),故它的时间复杂度也为O(n)。原创 2024-07-10 12:17:08 · 512 阅读 · 0 评论 -
数据结构-散列表(hash table)
在散列表中,数组每个下标的位置我们称之为桶(bucket)或者槽(slot),每个桶(槽)都对应一个链表,所有的散列值相同的元素都存进相同槽位对应的链表中。当数据量够多,产生了大量的hash冲突,就会将数据挂到同一索引下,导致某一个槽位的链表很长,那么此时散列表就退化成了链表,当再去这个索引下查找元素时,就要遍历链表,所以时间复杂度为O(n)。散列表又叫哈希(hash)表,是根据键(key)直接访问在内存存储位置的值(value)的数据结构,由数组演化而来(根据数组支持按照下标进行随机访问数据的特性)。原创 2024-07-10 12:09:14 · 778 阅读 · 0 评论 -
数据结构-链表
链表每一元素成为节点(Node);是一种物理存储单元上非连续、非顺序的数据结构单向链表data是用来存储数据的数据域,next(后继指针)是存储下一个节点地址的指针域。原创 2024-07-07 21:12:25 · 329 阅读 · 0 评论 -
数据结构-数组
数组是一组用连续内存空间存储相同数据类型数据的线性数据结构数组一般下标从0开始到n-1;原创 2024-07-07 21:08:40 · 548 阅读 · 0 评论