自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 常见的排序

‌插入排序‌:通过构建有序序列,逐步扩展已有序列的长度直至所有元素插入完毕。适用于数据规模较小的情况,时间复杂度为O(n^2)。‌选择排序‌:通过选择的方式,每次从未排序的元素中选择最小(或最大)的元素,与未排序序列的第一个元素交换位置,直到所有元素都排好序。时间复杂度为O(n^2)。‌冒泡排序‌:通过重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。适用于数据规模较小的情况,时间复杂度为O(n^2)。‌归并排序。

2024-08-24 22:14:20 356

原创 堆的基本操作

堆是一种特殊的数据结构,通常被看作是一棵‌完全二叉树。每个节点的值都必须大于等于或小于等于其子节点的值,这决定了它是最大堆或最小堆。堆的主要特性包括:‌完全二叉树‌:堆是一种完全二叉树,这意味着除了最底层之外,每一层都是完全填充的,且最后一层从左到右填充。‌父节点与子节点值的关系‌:在最大堆中,父节点的值总是大于或等于其子节点的值;在最小堆中,父节点的值总是小于或等于其子节点的值。‌顺序存储‌:尽管逻辑上是完全二叉树,但在物理存储上,堆通常使用一维数组来实现,通过特定的映射关系来模拟二叉树的结构。

2024-08-23 18:27:35 660

原创 带头双向循环链表的基本操作

带头双向循环链表‌是一种数据结构,它结合了双向链表和循环链表的特点,链表包含一个哨兵位(或称为头节点),这个节点不存储实际的数据,主要用于简化对链表的插入和删除操作,因为在进行这些操作时,不需要特别处理头节点。与单向链表不同,每个节点包含两个指针,一个指向下一个节点(next),另一个指向前一个节点(prev),这使得数据可以从两个方向进行遍历。与单向链表不同,每个节点包含两个指针,一个指向下一个节点(next),另一个指向前一个节点(prev),这使得数据可以从两个方向进行遍历。

2024-08-22 23:06:34 473

原创 顺序表基本操作

以上就是顺序表的基本操作了,现在来说一下顺序表有哪些优缺点呢?‌逻辑相邻,物理相邻‌:顺序表通过数据元素在物理存储单元中的相邻关系来反映数据元素在逻辑上的相邻关系,这使得访问逻辑上相邻的数据元素变得非常高效。随机存取‌:顺序表支持通过索引直接访问任何元素,这种随机访问的能力对于许多算法和数据操作来说是非常高效的。存储空间使用紧凑‌:顺序表的所有元素都存储在连续的内存空间中,没有额外的指针开销,这使得存储空间的使用非常紧凑。‌CPU缓存命中率高。

2024-08-22 17:42:04 237

原创 顺序栈和链队列的基本操作

队列遵循先进先出的原则,保证了元素的顺序性,先入队的元素先出队。但是只支持在两端进行操作,限制了数据的插入和删除方式 ,且不能直接访问队列中间的元素,需要依次出队才能访问。栈结构在递归算法的实现中具有重要作用,可以方便地保存和恢复函数调用的状态,但是栈只允许在栈顶进行插入和删除操作,限制了数据的操作方式。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

2024-01-21 19:06:20 741

原创 单链表的基本操作

单链表单链表是一种动态数据结构,可以方便地进行插入和删除操作,而无需事先知道数据的数量或分配固定大小的内存。在单链表中,插入和删除一个节点的操作效率很高,只需要修改相邻节点的指针即可,而不需要移动大量元素。单链表每个节点都需要额外的指针域来存储下一个节点的地址,这导致相比数组更多的存储空间开销。单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素+指针,元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。

2024-01-21 16:21:43 361

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除