
数据结构习题
idjke
这个作者很懒,什么都没留下…
展开
-
6-10 二分查找
本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一个线性表,其中ElementType元素.原创 2020-09-22 11:12:02 · 254 阅读 · 0 评论 -
6-9 二叉树的遍历
本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;.原创 2020-09-17 22:52:58 · 610 阅读 · 0 评论 -
6-5 链式表操作集
本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;.原创 2020-09-13 10:25:13 · 252 阅读 · 0 评论 -
6-4 链式表的按序号查找
本题要求实现一个函数,找到并返回链式表的第K个元素。函数接口定义:ElementType FindKth( List L, int K );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数FindKth要返回链式表的第K个元素。如果该元素不存在,则返回ERR.原创 2020-09-12 10:23:32 · 250 阅读 · 0 评论 -
7-2 一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 21 -10 .原创 2020-09-11 21:05:15 · 244 阅读 · 0 评论 -
6-2 顺序表操作集
本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { Ele.原创 2020-09-10 16:15:26 · 2478 阅读 · 0 评论 -
6-3 求链式表的表长
本题要求实现一个函数,求链式表的表长。函数接口定义:int Length( List L );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数Length要返回链式表的长度。裁判测试程序样例:#include <stdio.h>#inclu.原创 2020-09-07 23:12:12 · 328 阅读 · 0 评论 -
6-8 求二叉树高度
函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};要求函数返回给定二叉树BT的高度值。裁判测试程序样例:#include <stdio.h>#include <原创 2020-09-07 23:06:28 · 172 阅读 · 0 评论 -
7-1 最大子列和问题
K个整数组成的序列{N1,N2,...,NK}\{ N_1 , N_2, ..., N_K \}{N1,N2,...,NK},“连续子列”被定义为{Ni,Ni+1,...,Nj}\{ N_i, N_{i+1} , ..., N_j \}{Ni,Ni+1,...,Nj},其中 1≤i≤j≤K1≤i≤j≤K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{−2,11,−4,13,−5,−2}\{ -2, 11, -4,原创 2020-09-07 16:23:15 · 106 阅读 · 0 评论 -
6-1 单链表逆转
本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */L是给定单链表,函数Reverse要返回被逆转.原创 2020-09-07 16:06:59 · 183 阅读 · 0 评论 -
02-线性结构1 两个有序链表序列的合并
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中ListListList结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定.原创 2020-09-05 11:44:19 · 82 阅读 · 0 评论 -
01-复杂度2 Maximum Subsequence Sum
输出一个序列的最大子序列的和,以及该最大子序列的第一个和最后一个元素(不是索引)#include<stdio.h>#include<malloc.h>#include<stdlib.h>int* newArray(int length);int maxSubSum(int* arr, int length, int* first, int* last);int main(void) { int K, first, last; //分别对应:元素总..原创 2020-09-05 11:06:42 · 111 阅读 · 0 评论