![](https://img-blog.csdnimg.cn/a6d07100fca7475c8e4d75eb91259047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 78
数据结构初阶
_Zedd
先开始,再完善
展开
-
【数据结构】堆(Heap):堆的实现、堆排序、TOP-K问题
先考虑扩容,将数据插到最后,再用向上调整法。原创 2023-11-13 21:38:22 · 1427 阅读 · 8 评论 -
【数据结构】栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。**称为栈顶,另一端称为栈底。**栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,。出栈:栈的删除操作叫做出栈。。栈的实现一般可以使用,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。原创 2023-11-09 22:10:18 · 462 阅读 · 8 评论 -
【数据结构】顺序表和链表
常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:\1.。\2.原创 2023-11-06 22:03:55 · 1244 阅读 · 6 评论 -
[LeetCode]-876.链表的中间结点-206.反转链表-21.合并两个有序链表-203.移除链表元素
876. 链表的中间结点 - 力扣(LeetCode)原创 2023-11-03 19:34:36 · 206 阅读 · 12 评论 -
【数据结构】单向链表的增删查改以及指定pos位置的插入删除
在上面众多单向链表的实现中,很多并不实用,当需要大量的头插头删时,使用单向链表会更高效。原创 2023-11-02 18:34:59 · 369 阅读 · 19 评论 -
数据结构:轮转数组问题
以空间换时间,通过新创建数组,将后k个拷贝到数组前面,前n-k个拷贝到数组后面。👆时间复杂度O(n^2),空间复杂度O(1),这种方法时间复杂度过大,通过测试用例时会。👆时间复杂度O(n),空间复杂度O(n),后,再整体逆置,可得轮转后的数组。,将一块内存的内容复制到另一块内存中。👆前n-k个和后k个分别。原创 2023-09-26 17:38:14 · 47 阅读 · 0 评论 -
时间复杂度和空间复杂度的计算
算法在编写成可执行程序后,运行时需要耗费时间资源和空间内存资源。因此,即时间复杂度和空间复杂度。。在计算 机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。原创 2023-09-26 15:59:07 · 32 阅读 · 0 评论