
数据结构
Unen030
这个作者很懒,什么都没留下…
展开
-
数据结构:第13关:查找两个单词链表共同后缀的起始结点
设str1和str2分别指向两个单词所在单链表的头结点,请实现一个时间上尽可能高效的算法,找出由str1和str2所指的两个链表共同后缀的起始位置的结点,输出该结点对应的字符(如图中的字符i)。多组数据,每组数据有三行,第一行为链表str1和str2的长度n和m,第二行为链表str1的n个元素,第三行为链表str2的m个元素(元素之间用空格分隔)。本关任务:假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀空间。对于每组数据输出一行,为共同后缀的起始位置结点对应的字符。原创 2023-12-11 22:13:01 · 1856 阅读 · 0 评论 -
数据结构:第12关:删除链表中绝对值相等的结点
【代码】数据结构:第12关:删除链表中绝对值相等的结点。原创 2023-12-11 21:20:49 · 1181 阅读 · 0 评论 -
数据结构:第11关:查找链表中倒数第k个结点
本关任务:利用单链表表示一个整数序列,请实现一个时间复杂度为O(n)、空间复杂度为O(1)的算法,通过一趟遍历在单链表中确定倒数第k个结点。多组数据,每组数据有三行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔),第三行为k。当n=0时输入结束。对于每组数据分别输出一行,输出每个链表的倒数第k个结点对应的数值。开始你的任务吧,祝你成功!原创 2023-12-11 20:53:34 · 2348 阅读 · 0 评论 -
数据结构:第9关:删除链表中满足区间值的结点
本关任务:利用单链表表示一个递增的整数序列,删除链表中值大于等于mink且小于等于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同)。多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔),第三行为给定的mink和maxk(用空格分隔)。当n=0时输入结束。对于每组数据分别输出一行,依次输出删除元素后的链表元素,元素之间用空格分隔。开始你的任务吧,祝你成功!原创 2023-12-11 20:39:59 · 1393 阅读 · 0 评论 -
数据结构:链表应用:第9关:删除链表中满足区间值的结点
本关任务:利用单链表表示一个递增的整数序列,删除链表中值大于等于mink且小于等于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同)。多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔),第三行为给定的mink和maxk(用空格分隔)。当n=0时输入结束。对于每组数据分别输出一行,依次输出删除元素后的链表元素,元素之间用空格分隔。开始你的任务吧,祝你成功!原创 2023-12-05 22:30:34 · 981 阅读 · 0 评论 -
数据结构:链表应用:第8关:链表的逆转
多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔)。当n=0时输入结束。本关任务:利用单链表表示一个整数序列,通过一趟遍历,将单链表中所有结点的链接方向逆转。要求空间复杂度为O(1)。对于每组数据分别输出一行,逆序输出链表中的元素,元素之间用空格分隔。开始你的任务吧,祝你成功。原创 2023-12-05 22:08:11 · 2034 阅读 · 0 评论 -
数据结构:链表应用:第6关:链表的分解
本关任务:利用单链表A表示一个非零整数序列,把A分解为两个具有相同结构的链表B和C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点。要求空间复杂度为O(1),链表B和C均利用链表A的结点空间。多组数据,每组数据有两行,第一行为链表A的长度n,第二行为链表A的n个元素(元素之间用空格分隔)。当n=0时输入结束。对于每组数据分别输出两行,分别对应链表B和C的元素,每个数据之间用空格分隔。开始你的任务吧,祝你成功!原创 2023-12-02 20:49:47 · 1863 阅读 · 0 评论 -
数据结构:二叉树:第5关:基于二叉链表的二叉树高度的计算
每组数据一行,为二叉树的前序序列(序列中元素为‘0’时,表示该结点为空)。当输入只有一个“0”时,输入结束。设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,,编写递归算法计算二叉树的高度。每组数据分别输出一行,为二叉树的高度。开始你的任务吧,祝你成功!原创 2023-11-12 10:40:36 · 1268 阅读 · 3 评论 -
数据结构:二叉树:第4关:基于二叉链表的二叉树结点个数的统计
设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写三个递归算法对二叉树的结点(度为0、1、2)个数进行统计。每组数据一行,为二叉树的前序序列(序列中元素为‘0’时,表示该结点为空)。当输入只有一个“0”时,输入结束。每组数据输出一行,每行三个数分别为二叉树的度为0、1、2的结点个数。每两个数用空格分隔。开始你的任务吧,祝你成功!原创 2023-11-11 22:27:27 · 2336 阅读 · 1 评论 -
数据结构:二叉树:第3关:基于二叉链表的二叉树的遍历
设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写三个递归算法分别实现二叉树的先序、中序和后序遍历。原创 2023-11-11 22:26:27 · 3022 阅读 · 1 评论 -
数据结构:二叉树:第2关:基于二叉链表的二叉树的双序遍历
设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写递归算法实现该二叉树的双序遍历(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。每组数据一行,为二叉树的先序序列(序列中元素为‘0’时,表示该结点为空)。当输入只有一个“0”时,输入结束。每组数据输出一行,为双序遍历法得到的二叉树序列。开始你的任务吧,祝你成功!原创 2023-11-11 21:53:58 · 1559 阅读 · 1 评论 -
数据结构:二叉树:第1关:基于二叉链表的二叉树左右孩子的交换
每组数据一行,为二叉树的先序序列(序列中元素为‘0’时,表示该结点为空)。当输入只有一个“0”时,输入结束。设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写递归算法交换该二叉树的左右孩子。为交换左右孩子后的二叉树的先序序列。开始你的任务吧,祝你成功!原创 2023-11-11 20:44:05 · 1479 阅读 · 1 评论