PTA 数据结构题目集
PTA 数据结构题目集
Soulstrong c
这个作者很懒,什么都没留下…
展开
-
pta7-7 Complete Binary Search Tree (30分)
7-7 Complete Binary Search Tree (30分)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys le...原创 2020-02-07 16:33:33 · 567 阅读 · 0 评论 -
PTA7-12 排序 (冒泡排序+直接插入+希尔排序+堆排序)
PTA7-12 排序 (冒泡排序+直接插入+希尔排序+堆排序)给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:103个随机整数;数据4:104个随机整数;数据5:105个随机整数;数据6:105个顺序整数;数据7:10...原创 2020-01-16 13:44:35 · 2379 阅读 · 0 评论 -
PTA7-8 哈利·波特的考试 (25分)(解法同MOOC浙大数据结构课程例题)
PTA7-8 哈利·波特的考试 (25分)哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现...原创 2020-01-13 20:44:46 · 359 阅读 · 1 评论 -
PTA7-4 是否同一棵二叉搜索树 (25分)
PTA7-4 是否同一棵二叉搜索树 (25分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10...原创 2020-01-11 21:55:02 · 444 阅读 · 0 评论 -
PTA7-3 树的同构 (25分)
PTA7-3 树的同构 (25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),...原创 2020-01-11 15:18:18 · 901 阅读 · 0 评论 -
PTA7-2 一元多项式的乘法与加法运算 (20分)
PTA7-2 一元多项式的乘法与加法运算 (20分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0...原创 2020-01-11 12:03:24 · 1343 阅读 · 0 评论 -
PTA7-1 最大子列和问题 (20分)
PTA7-1 最大子列和问题 (20分)给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你...原创 2020-01-10 16:46:52 · 1612 阅读 · 0 评论 -
PTA6-12 二叉搜索树的操作集 (30分)
本题要求实现给定二叉搜索树的5种常用操作。函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );Position FindMin( BinTree BST );...原创 2019-12-22 16:01:00 · 290 阅读 · 0 评论 -
PTA6-11 先序输出叶结点 (15分)
PTA6-11 先序输出叶结点 (15分)本题要求按照先序遍历的顺序输出给定二叉树的叶节点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType...原创 2019-12-22 15:19:15 · 1086 阅读 · 0 评论 -
PTA6-10 二分查找 (20分)
PTA6-10 二分查找 (20分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中list结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; ...原创 2019-12-22 15:08:46 · 418 阅读 · 0 评论 -
PTA6-8 求二叉树高度
PTA6-8 求二叉树高度本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; Bi...原创 2019-12-22 14:38:24 · 460 阅读 · 0 评论 -
PTA6-5 链式表操作集
PTA6-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 *Pt...原创 2019-12-22 13:56:04 · 545 阅读 · 0 评论 -
PTA6-4 链式表的按序号查找
PTA6-4 链式表的按序号查找本提要求实现一个函数,找到并返回链式表的第K个元素函数接口定义:ElementType FindKth( List L, int K );其中list定义入下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};type...原创 2019-12-22 12:22:57 · 347 阅读 · 0 评论 -
PTA6-3 求链式表的表长(包含read())
PTA6-3 求链式表的表长本题要求实现一个函数,求链式表的表长函数接口定义 :int Length( List L );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L...原创 2019-12-21 15:52:39 · 512 阅读 · 0 评论 -
PTA6-2 顺序表操作集 (20分)
PTA6-2 顺序表操作集 (20分)函数接口定义: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 Po...原创 2019-12-21 15:29:41 · 924 阅读 · 0 评论 -
PTA6-1单链表逆转
PTA6-1单链表逆转函数接口定义List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode Li...原创 2019-12-21 14:55:34 · 254 阅读 · 0 评论 -
PTA6-9 二叉树的遍历
PTA6-9 二叉树的遍历函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:typedef...原创 2019-12-15 14:44:06 · 548 阅读 · 0 评论 -
PTA6-6 带头结点的链式表操作集
PTA6-6 带头结点的链式表操作集函数定义接口:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中list结构定义如下:typedef struct ...原创 2019-12-14 16:56:49 · 320 阅读 · 0 评论 -
PTA6-7 在一个数组中实现两个堆栈
PTA6-7 在一个数组中实现两个堆栈 (函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下:typedef i...原创 2019-12-14 16:44:29 · 462 阅读 · 0 评论