- 博客(12)
- 收藏
- 关注
原创 数据结构——栈和队列
栈是一种常见的数据结构,它遵循先进后出(LIFO)的原则。栈由一系列元素组成,可以进行两种基本操作:压入(push)和弹出(pop)。压入操作将元素添加到栈的顶部,弹出操作则将栈顶的元素移除。在栈中,只能访问栈顶的元素,其他元素都无法直接访问。栈的一个典型应用是函数调用的过程中,函数的局部变量和返回地址都存储在栈中。栈可以使用数组或链表实现,具体的实现方式有很多种。以下是用c语言数组方式实现。
2023-11-02 18:08:07
353
1
原创 数据结构───链表
链表的操作虽然学会了,但放在题目还是不会,还是算法基础太薄弱了,已经准备买书买咖啡早起学算法了,希望终有一天我也能成为一个算法大佬。
2023-10-29 17:31:18
326
1
原创 环形链表问题
可以看到,当链表没有环形结构时,fast或者fast->next会先为空,这时就可以直接返回NULL。当链表存在环形结构时,便可以抽象成下图,方便分析。我们假设这两个指针进入环形后的距离是S,由于fast的速度是slow的2两倍,指针每一走,距离S减1,直到在这个环形中S减到0,快慢指针一定会相遇。由于fast的速度是slow的两倍,说明fast会先进入环形,slow会后进入环形。设head到pos距离为L,pos到meet的距离为X,设环长为C。这样当head和meet相等时,就是要返还的pos啦。
2023-10-26 18:58:14
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人