数据结构-线性表-链表
muse journal
草地上密密麻麻开满了二月兰,都一样啊,密密麻麻都一样,这里面有一个是我,有一个也许是你,不是天安门门口的迎宾花,也不是河间里的牛尾巴草,做二月兰也挺好的,但真正疼苦的是认识到自己只是一株二月兰,走不出这,一亩三分地。
展开
-
数据结构-线性表-链表-2.3-25
3)三个while循环的时间复杂度为O(n),该算法的时间复杂度为O(n)原创 2024-05-10 07:48:10 · 297 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-24
3)时间复杂度为O(m),构造一个辅助数组,空间复杂度为O(n)原创 2024-05-10 07:48:02 · 205 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-23
长度差为|m-n|,让长度长的链表先遍历,使其对应指针指向第|m-n|+1各节点。原创 2024-05-10 07:47:46 · 114 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-22
查找链表的倒数第k个节点,经典的双指针,p指针先移动k个结点,q再开始移动,这样当p尾部时,q与p相距k个结点,是为倒数第k个结点。原创 2024-05-09 15:39:03 · 188 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-21
经典的快慢指针,fast ,slow。原创 2024-05-09 15:21:26 · 192 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-20
【代码】数据结构-线性表-链表-2.3-20。原创 2024-05-09 15:09:51 · 163 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-19
每次循环找到一个最小结点,然后删除它,反复循环直到单链表为空。原创 2024-05-09 14:57:15 · 201 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-18
找到两个链表尾指针,将第一个链表的的尾指针和第二个链表的头结点链接起来。原创 2024-05-09 14:47:33 · 217 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-17
设计一个算法用于判断带头节点的循环双链表是否对称。原创 2024-05-09 14:40:49 · 275 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-16
从两个链表的第一个元素开始,若数据元素相等,则后移一位,若不等,则A链表从上次比较的不等的元素后一个结点开始重新比较,B链表则重新开始从第一位开始。原创 2024-05-09 14:28:13 · 265 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-15
算法的时间复杂度为O(len1+len2),空间复杂度为O(1)两指针进行扫描,创建新表保存合集元素。原创 2024-05-09 14:17:14 · 348 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-14
A,B均从第一个元素开始比较,若值不同,则值较小的指针往后移,若值相等,则创建一个值等于两节点元素值的新节点,并将其插入到新的链表中,并将原指针向后都移动一位,直到遍历完。原创 2024-05-09 13:57:58 · 135 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-13
两个单链表均从第一个节点开始进行比较,将小的结点连入链表中,同时采用头插法实现降序排列。原创 2024-05-09 09:46:05 · 179 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-12
在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使得表中不再有重复的元素,例如(7,10,10,21,30,42,42,42,51,70)将变为(7,10,21,30,42,51,70)有序表,所有相同值的节点都是相邻的,用p扫描单链表L,若*p节点的值等于其后继结点的值,则删除后者,否则向后遍历。原创 2024-05-09 09:29:20 · 194 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-11
对B表的建立采用头插法。原创 2024-05-09 09:22:20 · 239 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-10
设置标记号,每访问一个节点自动加一,根据奇偶性使用尾插法将节点插入到表中。原创 2024-05-09 09:06:15 · 125 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-9
对链表进行遍历,在每次遍历中找出最小的元素,并释放,如此下去,直到链表为空。时间复杂度为O(n^2)原创 2024-05-09 08:48:09 · 148 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-8
若两个链表有一个公共点,则该公共点之后的所有节点都是重合的。遍历两个链表得到他们的长度,并求出长度差,在遍历长度差个结点后,在同步遍历两个链表直到找到相同的结点。给定两个单链表,编写算法找出两个链表的公共结点。时间复杂度为O(len1+len2)寻找一个线性时间复杂度的算法。原创 2024-05-09 08:30:50 · 186 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-6
有一个带头结点的单链表L,设计一个算法使其元素递增有序。原创 2024-05-08 21:03:23 · 125 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-7
设在一个带头结点的单链表中所有元素的数据值无序,试编写一个函数,删除表中所有介于给定的两个值(作为函数参数给出)之间的元素的元素(若存在)。无序链表,逐个结点进行检查,执行删除。原创 2024-05-08 20:32:32 · 227 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-5
试编写算法将带头结点的单链表就地逆置,所谓的“就地”是指辅助空间复杂度为O(1)头插法,将头结点拿下,从第一结点开始,依次插入到头结点的后面直到最后一个结点为止。时间复杂度为O(n)原创 2024-05-08 20:19:31 · 261 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-4
用p从头至尾扫描单链表,pre指向*p结点的前驱,用minp保存最小结点的指针(初始认为p所指结点值最小),minpre指向*minp结点的前驱,最终p,pre遍历完整个链表,minp,和minpre停留在最小结点处和前面。试编写在带头结点的单链表L中删除一个最小值结点的高效算法(假设最小值结点是唯一的)。使用四个指针,p,pre,minp,minpre。原创 2024-05-08 20:05:20 · 197 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-3
使用递归的思想,每次访问一个结点时,先递归的输出其后面的结点,再输出该结点自身。设L为带头节点的单链表,编写算法实现从尾到头反向输出每一个结点的值。原创 2024-05-08 20:04:36 · 111 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-2
双指针,用p从头至尾扫描单链表,pre指向*p结点的前驱,若p所指结点的值为x,则删除,并让p指向下一个结点,否则让pre,p指针同步向后移动一位。在带头节点的单链表L中,删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一,是编写算法实现上述操作。原创 2024-05-08 20:03:41 · 273 阅读 · 0 评论 -
数据结构-线性表-链表-2.3-1
设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。时间复杂度为O(n)原创 2024-05-08 20:01:59 · 151 阅读 · 0 评论