- 博客(11)
- 收藏
- 关注
原创 《数据结构与算法》栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,。栈中的元素遵守后进先出LIFO(Last In First Out)的原则(类似于烤串,最后串上的肉最先吃到嘴里)。压栈:栈的插入操作叫做进栈/压栈/入栈,。出栈:栈的删除操作叫做出栈,。
2024-10-09 16:32:04
704
1
原创 《数据结构与算法》链表OJ(2)
定义一个指针指向相遇点的下一个节点(作为新链表的头),再对相遇点的next置为空,这样我们就把问题转换成了链表的相交问题 (先找尾节点,尾节点的地址相同就相交,长的链表先走长度差,再同时走找交点,第一个地址相同的就是交点。fast先进环,过一会儿,slow也会进环,假设此时fast和slow之间的距离时N。fast先进环,过一会儿,slow也会进环,假设此时fast和slow之间的距离时N。,那么永远追不上得条件是不成立的!答案是没有,因为slow都走了1圈了,那么fast就走了2圈了,早就追上了。
2024-09-28 19:19:24
570
原创 《数据结构与算法》链表OJ(1)
定义一个指针pcur在原链表中遍历,定义两个指针,newHead指向新链表的头节点,newTail指向新链表的尾节点。创建新链表,对比list1和list2节点中的值,选小的尾插到新的链表中,走到最后一定会有一个链表走到空,这个时候就把没走到空的链表接到新链表后。创建三个指针,分别记录前驱节点(n1),当前节点(n2),后继节点(n3),改变原链表指针指向,最后n1指向的就是反转链表的头。定义两个链表:一个大链表和一个小链表,遍历原链表的节点,将其放到对应的新链表中,最后将大链表和小链表的首位相连。
2024-09-19 17:02:55
629
2
原创 《数据结构与算法》算法的时间复杂度和空间复杂度
如何衡量一个算法的好坏呢?斐波那契数列的递归实现方式非常简洁,但是简介就一定是好的吗?我们应该如何衡量它的好坏呢?
2024-06-20 17:17:55
642
8
原创 《数据结构与算法》双向链表专题
带头双向循环链表注意:这里的“带头”跟前面我们说的“头节点”是两个概念,实际前面在单链表阶段的称呼并不严谨,为了我们更好的理解就直接成为单链表的头节点。带头链表的头节点实际为“哨兵位”,哨兵位节点不存储任何有效的元素,只是站在这里“放哨”的。“哨兵位”存在的意义:遍历循环链表避免死循环。当链表中只有哨兵位节点的时候,我们称该链表为空链表,即哨兵位是不能删除的。
2024-06-02 17:37:02
836
3
原创 《数据结构与算法》单链表专题
概念:链表是一种、非顺序的存储结构,数据元素的中的逻辑顺序是通过链表中的次序实现的。链表的结构跟火车车厢很相似,在淡季的时候车厢会相应的减少,在旺季的时候车厢会额外增加几节。只需要将火车里的某节车厢去掉或者加上,不会影响其他的车厢,每节车厢都是独立存在的。车厢独立存在,并且在每节车厢之间连接的过道都有一扇车门。假设有以下情景:每节车厢的车门都是上锁的状态,需要不同的钥匙才能解锁,每次只能携带一把钥匙的情况下如何从车头走到车尾呢?最简单的方法当然是每一节车厢中都放了下一节车厢的门钥匙。
2024-05-27 09:53:25
1718
1
原创 《数据结构与算法》顺序表的应用
基于动态顺序表实现通讯录 功能要求 至少能够存储100个人的通讯信息 能够保存用户信息:名字、性别、年龄、电话、家庭住址等 增加联系人信息 删除联系人信息 查找指定联系人 修改指定联系人 显示联系人信息
2024-05-18 22:09:12
791
2
原创 《数据结构与算法》顺序表专题
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么⽅式构成,以及数据元素之间呈现的结构。总结:1)能够存储数据(如顺序表、链表等结构)2)存储的数据能够⽅便查找eg:有两个牧场,A牧场是放养的羊,B牧场是每只羊都有各自的号码的羊,如果我们想找到叫“肖恩”的羊,在A牧场就无法快速的找到,而B牧场只需要找到“肖恩”的号码即可快速找到它。
2024-05-15 18:22:08
1723
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人