- 博客(88)
- 收藏
- 关注
原创 【考研数据结构刷题】408【2010年第 42题】
设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移p(0n-1 位置进行逆置,最后可得。时间复杂度位0(n),空间复杂度为1。
2024-09-02 17:38:01 274
原创 【考研数据结构刷题】408【2009 年第 42题】
【2009 年第 42题】已知一个带有表头结点的单链表,结点结构为(data,link),假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。
2024-09-01 19:47:57 232
原创 【考研数据结构刷题】已知长度为n的线性表A采用顺序存储结构,请写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法可删除线性表中所有值为item的数据元素。
已知长度为n的线性表A采用顺序存储结构,请写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法可删除线性表中所有值为item的数据元素。本题要求时间复杂度为n,则进行依次遍历,且空间复杂度为1,则需记录不相同的数,然后将其重新放入表中。本题针对考研数据结构,采用伪代码编写,主要理解代码逻辑。
2024-09-01 19:21:12 406
原创 【考研数据结构刷题】已知p指向双向循环链表中的一个结点,其结点结构为 data、prior、next 三个域,写出算法 Exchange(p),交换p所指向的结点及其前驱结点的顺序。
已知p指向双向循环链表中的一个结点,其结点结构为 data、prior、next 三个域,写出算法 Exchange(p),交换p所指向的结点及其前驱结点的顺序。此问题经常考在选择题,非常经典,只要认真思考,都可以解决,为简单题。
2024-09-01 19:04:33 358
原创 【考研数据结构算法刷题】设计一个算法,删除递增有序链表中值大于mink且小于maxk(mink 和 maxk 是给定的两个参数,其值可以和表中的元素相同,也可以不同)的所有元素。
设计一个算法,删除递增有序链表中值大于mink且小于maxk(mink 和 maxk 是给定的两个参数,其值可以和表中的元素相同,也可以不同)的所有元素。本代码针对考研数据结构,采用伪代码实现,主要关注代码逻辑。本题目注意临界条件和删除中间元素,就可轻易解决。
2024-09-01 18:48:25 255
原创 【考研数据结构算法刷题】设计一个算法,将链表中所有结点的链接方向“原地”逆转,即要求仅利用原表的存储空间,换句话说,要求算法的空间复杂度为 O(1)。
设计一个算法,将链表中所有结点的链接方向“原地”逆转,即要求仅利用原表的存储空间,换句话说,要求算法的空间复杂度为 O(1)。本题实现逆转相对简单,只需要依次读入,再经过头插法即可实现。本代码针对考研数据结构,采用伪代码实现,主要关注代码逻辑。
2024-08-15 21:22:19 187
原创 【考研数据结构算法刷题】设计一个算法,通过一趟遍历确定长度为n的单链表中值最大的结点,返回该结点的数据域。
设计一个算法,通过一趟遍历确定长度为n的单链表中值最大的结点,返回该结点的数据域。本代码针对考研数据结构,采用伪代码,主要在于理解代码逻辑。本题比较简单,创建记录最大值的指针即可。
2024-08-15 21:07:27 328
原创 【考研数据结构算法刷题】设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B和C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求 B
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B和C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求 B、表利用A表的结点)。该问题比较简单,注意采用的是头插法还是尾插法实现,两者有较大差异。本代码针对考研数据结构,采用伪代码,主要理解代码逻辑,
2024-08-15 20:56:49 158
原创 【考研数据结构算法刷题】已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的
已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。本代码针对考研数据结构,代码采用伪代码,主要理解代码逻辑,本题找在a中出现,但在b中不出现的,且都是升序,则找依次找b>a的元素插入。
2024-08-15 20:39:45 288 1
原创 【考研数据结构算法刷题】已知两个链表A和B分别表示两个集合,其元素递增排列。请设计一个算法,用于求出A与B的交集,并存放在A链表中。
此代码针对考研数据结构,所以采用伪代码,主要理解算法处理逻辑,本算法理解起来比较容易,找出data值相同的元素,然后连接到c上,不相同的元素删除。已知两个链表A和B分别表示两个集合,其元素递增排列。请设计一个算法,用于求出A与B的交集,并存放在A链表中。
2024-08-15 20:11:16 352
原创 【考研数据结构算法刷题】将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。
本代码针对考研数据结构,采用伪代码,主要理解代码思路,由于原链表是有重复数的升序序列,要求改降序,且不能占用其他存储空间,所以只能采用头插法进行。将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。
2024-08-15 19:50:02 401
原创 【考研数据结构算法刷题】将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据。
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据。本代码是针对考研数据结构题目设计,所以采用伪代码,主要理解算法运行逻辑,代码还是比较简单的,注意最后释放节点。
2024-08-15 19:24:47 313
原创 Visual Studio 第一行,scanf报错解决。#define _CRT_SECURE_NO_WARNINGS 1
想必大家刚装好Visual Studio,准备自信满满去开始编写自己的第一个程序时,却出现这个错误:这一句话就可解决,但是这句话又臭又长,有什么方法让我们一步解决这样的问题呢。
2024-08-15 18:53:15 244
原创 【C语言数据结构必学算法】编程求解约瑟夫问题。
编程求解约瑟夫问题:有n个小孩围成一圈,从1开始依次为他们编号。要求从第w个小孩开始报数,报到第s的小孩出列,然后从下一个继续报数,仍是报到第s的小孩出列,如此重复下去,直到所有的小孩都出列,求小孩的出列顺序。
2024-08-09 18:21:42 269
原创 【C语言数据结构必学算法】建立10名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩,要求通过键盘输入这3名学生的信息,并按照每一行显示一名学生信息的格式将信息显示出来。
建立10名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩,要求通过键盘输入这3名学生的信息,并按照每一行显示一名学生信息的格式将信息显示出来。
2024-08-09 13:39:17 167
原创 【C语言数据结构必学算法】编写程序,通过键盘输入整数n和浮点数x,并计算契比雪夫多项式的值。
编写程序,通过键盘输入整数n和浮点数x,并计算多项式的值。
2024-08-08 20:26:09 114
原创 【C语言数据结构必学算法】通过键盘输入大于1的正整数n,当n为偶数时计算1+1/2+1/4+…+1/n的值;当n为奇数时,计算1+1/3+1/5+…+1/n 的值。
通过键盘输入大于1的正整数n,当n为偶数时计算 1+1/2+1/4+…+1/n的值;当n为奇数时,计算1+1/3+1/5+…+1/n 的值。
2024-08-08 19:54:29 185
原创 【C语言数据结构必学算法】从终端输入一个字符串(最多不超过40个字符),把此字符串中偶数位的字符变为“*”。要求用指针完成。
从终端输入一个字符串(最多不超过40个字符),把此字符串中偶数位的字符变为“*”。要求用指针完成。
2024-08-08 15:45:41 234
原创 【C语言数据结构必学算法】编程把能被11整除且不包含重复数字的3位数输出,并记录它们的个数。
编程把能被11整除且不包含重复数字的3位数输出,并记录它们的个数。
2024-08-08 15:34:22 155
原创 【C语言数据结构必学算法】将一个数的数字倒过来所得到的新数称为原数的反序数。如果一个数等于它的反序数,则这个数称为对称数。求不超过1993的所有的对称数。要求用指针完成。
将一个数的数字倒过来所得到的新数称为原数的反序数。如果一个数等于它的反序数,则这个数称为对称数。求不超过1993的所有的对称数。
2024-08-08 15:11:04 186
原创 【C语言数据结构必学算法】将1~9这9个数字分成3个3位数,要求第一个数是第二个数的二分之一,是第三个数的三分之一。要求用指针处理。
将1~9这9个数字分成3个3位数,要求第一个数是第二个数的二分之一,是第三个数的三分之一。
2024-08-08 14:52:02 353
原创 【C语言数据结构必学算法】编写一个使用指针的函数,交换数组a和数组b中的对应元素。要求在主函数中输入和输出数组。
编写一个使用指针的函数,交换数组a和数组b中的对应元素。要求在主函数中输入和输出数组。
2024-08-07 20:50:56 129
原创 【C语言数据结构必学算法】输入10个学生的成绩,显示并输出其中的最低分、最高分和平均成绩。要求用指针完成。
输入10个学生的成绩,显示并输出其中的最低分、最高分和平均成绩。
2024-08-07 20:12:42 392
原创 【C语言数据结构必学算法】输入10个整数,将其中的最小数与第一个数对换,将最大数与最后一个数对换。要求编写3个函数:① 输入10个数;② 处理数据;③ 输出10个数。要求用指针完成。
输入10个整数,将其中的最小数与第一个数对换,将最大数与最后一个数对换。要求编写3个函数:① 输入10个数;② 处理数据;③ 输出10个数。要求用指针完成。
2024-08-07 19:59:19 197
原创 【C语言数据结构必学算法】利用指针将一个字符串中的所有字符按 ASCI码值从小到大排序后输出。
利用指针将一个字符串中的所有字符按 ASCI码值从小到大排序后输出。
2024-08-07 19:39:12 143
原创 【C语言数据结构必学算法】编写一个函数,找出指针p所指向的字符串中第一次出现字符“ch”的位置,若字符串中没有该字符,则返回 0。
编写一个函数,找出指针p所指向的字符串中第一次出现字符“ch”的位置,若字符串中没有该字符,则返回 0。
2024-08-07 19:15:48 274
原创 【C语言数据结构必学算法】编写一个函数 str(),利用指针求字符串的长度;在主函数中输入字符串,调用str()并输出其长度。
编写一个函数 str(),利用指针求字符串的长度;在主函数中输入字符串,调用str()并输出其长度。
2024-08-07 18:59:55 110
原创 【C语言数据结构必学算法】编程将字符串“Language”赋予字符数组 a,然后用指针变量来输出如下所示的图形:
编程将字符串“Language”赋予字符数组 a,然后用指针变量来输出如下所示的图形:【参考代码】【运行结果】
2024-08-07 18:45:43 252
原创 【C语言数据结构必学算法】编写程序使指针变量 a指向“Turbo C”,输出字符串的首字符和整个字符串,用指针变量p输出字符串的第5个字符,输出a和p的地址。
编写程序使指针变量 a指向“Turbo C”,输出字符串的首字符和整个字符串,用指针变量p输出字符串的第5个字符,输出a和p的地址。
2024-08-07 18:33:54 101
原创 【C语言数据结构必学算法】从键盘输入一个字符串 a,并在a串中的最大元素后插入字符串b(“ab“)。
从键盘输入一个字符串 a,并在a串中的最大元素后插入字符串b("ab")。
2024-08-06 22:10:46 184
原创 【C语言数据结构必学算法】从键盘输入两个字符串a和b,要求不用库函数 strcat(),即把串b的前5个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。
从键盘输入两个字符串a和b,要求不用库函数 strcat(),即把串b的前5个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。
2024-08-06 21:51:28 224
原创 【C语言数据结构必学算法】数组a包括 10个整数,把a中所有的后项除以前项之商取整后存入数组 b,并按每行3 个元素的格式输出数组b。
数组a包括 10个整数,把a中所有的后项除以前项之商取整后存入数组 b,并按每行3 个元素的格式输出数组b。
2024-08-06 21:29:24 138
原创 【C语言数据结构必学算法】如下所示是一个 5x5 阶的螺旋方阵,编程打印出此形式的 n*n(n<10)的方阵(顺时针方向旋转)。
如下所示是一个 5x5 阶的螺旋方阵,编程打印出此形式的 n*n(n
2024-08-06 21:02:05 450
原创 【C语言数据结构必学算法】通过循环及按行顺序为一个 5x5 的二维数组a赋 1~25 的自然数,然后输出该数组的左下半三角。
通过循环及按行顺序为一个 5x5 的二维数组a赋 1~25 的自然数,然后输出该数组的左下半三角。
2024-08-06 20:14:31 184
原创 【C语言数据结构必学算法】按行顺序给 2x3 的二维数组赋予 2、4、6等偶数,然后按列的顺序输出该数组。
按行顺序给 2x3 的二维数组赋予 2、4、6等偶数,然后按列的顺序输出该数组。
2024-08-06 20:04:57 132
原创 【C语言数据结构必学算法】定义一个含有 30个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每5个数求出一个平均值,放在另一个数组中并输出。
定义一个含有 30个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每5个数求出一个平均值,放在另一个数组中并输出。
2024-08-06 19:54:39 224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人