
数据结构
Akita·wang
ADIC研究生
展开
-
顺序表应用2:多余元素删除之建表算法
Problem Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。 要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能; ...原创 2018-07-27 11:58:35 · 133 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
Problem Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。 要求: 1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能; ...原创 2018-07-27 11:57:55 · 294 阅读 · 0 评论 -
顺序表应用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...原创 2018-07-27 11:51:56 · 151 阅读 · 0 评论 -
顺序表应用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[...原创 2018-07-27 11:35:42 · 928 阅读 · 0 评论 -
顺序表应用6:有序顺序表查询
以上为题目: 此题目可将顺序表遍历查询有没有相同的元素,对算法的时间限制较大,可用二分查找 以下为代码: #include <stdio.h> #include <stdlib.h> #define List_init_size 20000 typedef int element; typedef struct { element *elem; ...原创 2018-07-27 09:47:15 · 156 阅读 · 0 评论 -
顺序表应用5:有序顺序表归并
Problem Description 已知顺序表A与B是两个有序的顺序表,其中存放的数据元素皆为普通整型,将A与B表归并为C表,要求C表包含了A、B表里所有元素,并且C表仍然保持有序。 Input 输入分为三行: 第一行输入m、n(1<=m,n<=10000)的值,即为表A、B的元素个数; 第二行输入m个有序的整数,即为表A的每一个元素; 第三行输入n个有序的整数,即为表B的...原创 2018-07-26 21:20:20 · 194 阅读 · 0 评论 -
顺序表应用3:元素位置互换之移位算法
顺序表应用3:元素位置互换之移位算法 Time Limit: 1000 ms Memory Limit: 570 KiB Submit Statistic Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素...原创 2018-07-26 16:25:47 · 182 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。 Input 第一行输入元素个数 n (1 <= n <...原创 2018-08-08 09:11:40 · 407 阅读 · 0 评论 -
数据结构实验之链表六:有序链表的建立
数据结构实验之链表六:有序链表的建立 Time Limit: 1000MS Memory limit: 65536K 题目描述 输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。 输入 第一行输入整数个数N; 第二行输入N个无序的整数。 输出 依次输出有序链表的结点值。 示例输入 6 33 6 22 9 44 5 示例输出 5 6 9 ...原创 2018-08-07 21:26:40 · 165 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。 Input 第一行输入整数N...原创 2018-08-07 21:25:10 · 190 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; ...原创 2018-08-07 20:58:04 · 170 阅读 · 0 评论 -
数据结构实验之串三:KMP应用
数据结构实验之串三:KMP应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的...原创 2018-08-09 14:01:49 · 152 阅读 · 0 评论 -
数据结构实验之链表二:逆序建立链表
Problem Description 输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。 Input 第一行输入整数N;; 第二行依次输入N个整数,逆序建立单链表。 Output 依次输出单链表所存放的数据。 Sample Input 10 11 3 5 27 9 12 43 16 84 22 Sample Output 2...原创 2018-08-04 20:16:43 · 205 阅读 · 0 评论 -
数据结构实验之链表一:顺序建立链表
Problem Description 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。 Input 第一行输入整数的个数N; 第二行依次输入每个整数。 Output 输出这组整数。 Sample Input 8 12 56 4 6 55 15 33 62 Sample Output 12 56 4 6 55 15 33 62 Hint 不...原创 2018-08-04 19:33:57 · 433 阅读 · 0 评论