- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 算法分析与设计-期末复习(完结版
活动安排问题是贪心算法的经典应用之一。它的场景是给定一组活动,每个活动都有一个开始时间和结束时间,目标是安排出一个最大数量的相互兼容的活动集合,即这些活动之间不会相互冲突。贪心算法在解决活动安排问题时的思路是选择结束时间最早的活动,这样可以腾出更多的时间去安排其他活动。具体步骤如下:1. 将活动按照结束时间从早到晚进行排序。2. 选择结束时间最早的活动作为第一个安排的活动。3. 从剩余的活动中选择开始时间不早于已安排活动的结束时间的活动,并且结束时间最早。
2024-05-15 21:45:54 937
原创 栈的基本操作(出栈、入栈、销毁...
可以类比一个“羽毛球筒”,最先进入的羽毛球,必须等待,其他球取出,才能出来。第一种,top = 0,则栈顶元素在 top - 1 的位置。空间开辟的规则,一般遵循,一开始开辟四个单位。第二种,top = -1,则栈顶元素在 top 的位置。使用完毕后,也必须使用free函数,释放掉。需要对栈的空间进行扩容,使用realloc函数。,其只允许在固定的一端进行插入和删除元素操作。后面扩容时,扩增为原来的2倍。创建栈的结构体,包括栈的基本信息,本篇文章就到此结束啦!以下就是全篇汇总啦~
2024-03-20 22:50:38 1044 1
原创 数据结构_线性表_双向链表(C语言实现+基本操作
带头双向循环链表学习!!!//便于更改存储类型//存储数据元素信息//存储上一个节点信息//存储下一个节点信息} ListNode;
2024-01-29 23:47:07 1021
原创 单链表(自用
由于顺序表的插入删除操作需要移动大量的元素,影响了运行效率,因此引入了线性表的链式存储——单链表。单链表通过一组任意的存储单元来存储线性表中的数据元素,不需要使用地址连续的存储单元,因此它不要求在逻辑上相邻的两个元素在物理位置上也相邻。//结构体//数据域//指针域}SLTNode;
2024-01-28 23:47:01 1086
原创 【LeetCode】力扣26.删除有序数组中的重复项(双指针)
定义一个fast指向第二个元素(下标为1)一个slow指向第一个元素(下标为0)。使用fast自加遍历数遇到和slow指针指向元素一样的:fast指针继续后移,不做多余操作;遇到和slow指针不一样的,slow指针向后移一位,并将slow写为fast的元素。fast继续向后移动一位最后slow的值+1就是新数组的长度(因为slow是下标,所以返回数组长度+1划重点!!!),直接返回。
2024-01-27 23:52:14 468
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人