数据结构题集
丽贝卡家的小狮子
这个作者很懒,什么都没留下…
展开
-
7-1 最大子列和问题 (20分)
题目:给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。各组测试数据特点如下:数据1:与样例等价,测试基本正原创 2020-06-24 21:51:45 · 195 阅读 · 0 评论 -
二叉树的层次遍历
思路:需要利用队列实现。建立队列,设置队头队尾,初始化为0判断二叉树是否为空,若为空则返回将根节点进队,执行如下循环,直到队列为空结束循环1)队头结点出队2)打印队头结点3)依次判断该节点的左右节点是否为空,若非空,则入队代码:void LevelorderTraversal( BinTree BT ){ BinTree queue[1000], temp;//建立队列 int head=0,rear=0;//设置队首队尾 if(BT==NULL)//树为空则原创 2020-05-13 19:43:10 · 138 阅读 · 0 评论 -
6-7 在一个数组中实现两个堆栈 (20分)
本题要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下:typedef int Position;struct SNode { ElementType *Data; Posi原创 2020-05-08 22:05:40 · 1014 阅读 · 0 评论 -
有无头结点的链表操作对比
有头结点链表的操作//创建并返回一个空的线性表List MakeEmpty(){ List L; L=(List)malloc(sizeof(List)); L->Next=NULL; return L;}//返回线性表中X的位置。若找不到则返回ERRORPosition Find( List L, ElementType X ){ L=L->Next...原创 2020-05-07 21:16:41 · 221 阅读 · 0 评论 -
6-1 单链表逆转 (20分)
题目本题要求实现一个函数,将给定的单链表逆转。其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */...原创 2020-04-26 22:30:42 · 236 阅读 · 0 评论