
数据结构
胖虎的狗蛋
这个作者很懒,什么都没留下…
展开
-
数据结构——线性表(SWUSTOJ 952: 单链表的插入操作的实现)
952: 单链表的插入操作的实现题目描述输入输出样例输入样例输出源代码题目描述建立长度为n的单链表,在第i个结点之前插入数据元素data。输入第一行为自然数n,表示链式线性表的长度; 第二行为n个自然数表示链式线性表各元素值; 第三行为指定插入的位置i;第四行为待插入数据元素data。输出指定插入位置合法时候,输出插入元素后的链式线性表的所有元素,元素之间用一个空格隔开。输入不合法,输出"error!"。样例输入51 2 3 4 536样例输出1 2 6 3 4 5源代码#in原创 2020-07-16 16:03:40 · 3755 阅读 · 0 评论 -
数据结构——单链表(线性表的链式存储结构)
单链表单链表的定义单链表上基本操作的实现单链表的声明建立单链表头插法尾插法初始化销毁线性表判断线性表是否为空表求线性表的长度输出线性表单链表的定义线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素。为了建立数据元素之间的线性关系,对每个链表结点,除了存放元素数据自身的信息外,还需要存放一个指向后继元素的指针。单链表的结构就是data+next,其中data为数据域,next为指针域,存放其后继结点的地址。单链表上基本操作的实现单链表的声明typedef struct原创 2020-07-16 15:13:42 · 1329 阅读 · 0 评论 -
数据结构——线性表(SWUSTOJ 943: 顺序表插入操作的实现)
943: 顺序表插入操作的实现题目描述输入输出样例输入样例输出源代码题目描述建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data。如果指定的数据元素item不存在,则将data插入到顺序表的尾端。(数据类型为整型)输入第一行为顺序表的长度n;第二行为顺序表中的数据元素;第三行为指定的数据元素item;第四行为要插入的数据元素data;输出输出结果为顺序表中的数据元素。样例输入1010 20 30 40 50 60 70 80 90 1005055样例输出10原创 2020-07-10 15:49:29 · 987 阅读 · 0 评论 -
数据结构——线性表(SWUSTOJ 942:逆置顺序表)
942:逆置顺序表题目描述输入输出样例输入样例输出源代码1源代码2题目描述建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,…,an),则逆置后的数据元素序列为(an,an-1,an-2,…,a1,a0)。(数据类型为字符型)输入第一行为顺序表的长度n;第二行为顺序表中的数据元素.输出输出为逆置后的顺序表.样例输入7ABCDEFG样例输出G F E D C B A源代码1思想是把第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交原创 2020-07-10 11:03:50 · 1781 阅读 · 0 评论 -
数据结构——线性表(SWUSTOJ 941:有序顺序表的合并操作的实现)
941:有序顺序表的合并操作的实现题目描述输入输出样例输入样例输出源代码题目描述已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。(测试数据为整型)输入输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度;第二行为n个自然数构成的非递减顺序线性表;第三行为自然数m,表示第二个非递减顺序线性表的长度;第四行为m个自然数构成的非递减顺序线性表。输出输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。样例输入21 332 3 6样例输出1 2原创 2020-07-09 20:06:47 · 2799 阅读 · 0 评论 -
数据结构——顺序表(线性表的顺序存储结构)
顺序表定义顺序表上基本操作的实现结构体定义建立顺序表初始化顺序表销毁线性表判断线性表是否为空表求线性表的长度输出线性表求线性表中的某个数据元素的值按元素查找插入数据元素删除数据元素定义顺序表是用一组地址连续的存储单元依次存储线性表中的数据源元素,从而使得逻辑相邻的两个元素在物理位置上也相邻。特点是表中元素的逻辑顺序与其物理顺序相同顺序表上基本操作的实现结构体定义#define MaxSize 100//定义一个整形常量typedef struct{ ElemType data[MaxSize原创 2020-07-09 09:42:37 · 1880 阅读 · 0 评论 -
数据结构——时间复杂度
时间复杂度时间复杂度常见的渐进时间复杂度两条规则加法规则乘法规则例题1例题2时间复杂度一个语句的频度是该语句在算法中被重复执行的次数。算法中所有语句的频度之和记为T(n)。T(n)是该算法问题规模n的函数,而时间复杂度主要分析T(n)的数量级。算法中基本运算(最深层循环内的语句)的频度与T(n)同数量级,因此通过采用算法中基本运算的频度f(n)来分析算法的时间复杂度。因此记为T(n) = O(f(n))我们一般讨论的是最坏时间复杂度,因为最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,分原创 2020-07-07 13:48:50 · 1116 阅读 · 0 评论