
《数据结构与算法》实践能力专题训练1 顺序表
文章平均质量分 91
《数据结构与算法》实践能力专题训练1 顺序表 题解
whale .
这个作者很懒,什么都没留下…
展开
-
顺序表应用8:最大子段和之动态规划法
顺序表应用8:最大子段和之动态规划法 Problem Description 给定n(1<=n<=100000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4原创 2020-07-29 18:20:38 · 218 阅读 · 0 评论 -
顺序表应用7:最大子段和之分治递归法
顺序表应用7:最大子段和之分治递归法 Problem Description 给定n(1<=n<=50000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,原创 2020-07-29 16:37:27 · 655 阅读 · 0 评论 -
顺序表应用6:有序顺序表查询
顺序表应用6:有序顺序表查询 Description 顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。 Input 第一行输入整数n (1 <= n <= 100000),表示顺序表的元素个数; 第二行依次输入n个各不相同的有序非负整数,代表表里的元素; 第三行输入整数t (1 <= t <= 100000),代表要查询的次数; 第四行依次输入t个非负整数原创 2020-07-28 17:27:59 · 690 阅读 · 0 评论 -
顺序表应用5:有序顺序表归并
顺序表应用5:有序顺序表归并 Description 已知顺序表A与B是两个有序的顺序表,其中存放的数据元素皆为普通整型,将A与B表归并为C表,要求C表包含了A、B表里所有元素,并且C表仍然保持有序。 Input 输入分为三行: 第一行输入m、n(1<=m,n<=10000)的值,即为表A、B的元素个数; 第二行输入m个有序的整数,即为表A的每一个元素; 第三行输入n个有序的整数,即为表B的每一个元素; Output 输出为一行,即将表A、B合并为表C后,依次输出表C所存放的元素。 Sample原创 2020-07-28 11:36:59 · 722 阅读 · 0 评论 -
顺序表应用4-2:元素位置互换之逆置算法(数据改进)
顺序表应用4-2:元素位置互换之逆置算法(数据改进) Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。 注意:交换操作会有多次,每次交换都是在上次交换完成后的顺序表中进行。 Inpu原创 2020-07-27 11:29:47 · 230 阅读 · 0 评论 -
顺序表应用4:元素位置互换之逆置算法
顺序表应用4:元素位置互换之逆置算法 Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。 注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。 In原创 2020-07-26 18:23:33 · 550 阅读 · 0 评论 -
顺序表应用3:元素位置互换之移位算法
顺序表应用3:元素位置互换之移位算法 Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素移位的方式,设计一个空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。 注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。 Inp原创 2020-07-26 16:12:45 · 262 阅读 · 0 评论 -
顺序表应用2:多余元素删除之建表算法
顺序表应用2:多余元素删除之建表算法 Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。 要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能; 2、本题的目标是熟悉在顺序表原表空间基础上建新表的算法,要在原顺序表空间的基础上完成完成删除,建表过程不得原创 2020-07-25 15:36:07 · 196 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
顺序表应用1:多余元素删除之移位算法 Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。 要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能; 2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除; Input 第一行输入整数n,原创 2020-07-25 10:13:40 · 722 阅读 · 1 评论