pta数据结构题集
浙大数据结构题目集
Adongua
码码不易,瓜某不瓜
展开
-
题127.2021秋周练习-3-9 堆栈模拟队列 (20 分)
文章目录题127.2021秋周练习-3-9 堆栈模拟队列 (20 分)一、题目二、题解题127.2021秋周练习-3-9 堆栈模拟队列 (20 分)一、题目二、题解本题想要用两个栈来实现队列,显然是要把一个栈作为输入栈,一个栈作为输出栈来处理,关键是谁作为输入谁作为输出的问题。由我们知道每次出队的时候其实是要把放在输入栈最底下的那个元素输出,要做到这点就得把输入栈里头的元素全部倒腾到输出栈去,此时要是输入栈的元素数达到了容量,并且大于了输出栈的容量,那倒腾就不会成功了,所以我们必须要保证容原创 2021-10-07 22:06:56 · 135 阅读 · 0 评论 -
题172.2021秋周练习-7-1 二分查找 (20 分)
文章目录题172.2021秋周练习-7-1 二分查找 (20 分)一、题目二、题解题172.2021秋周练习-7-1 二分查找 (20 分)一、题目二、题解二分查找直接写就好#include <bits/stdc++.h>using namespace std;int a[100000];int binarySearch(int x,int n){ int mid; int l=0,r=n-1;//这里设置l和r对应数组元素都是有效值原创 2021-12-12 22:00:43 · 388 阅读 · 0 评论 -
题136.2021秋周练习-2-1 是否同一棵二叉搜索树 (35 分)
文章目录题136.2021秋周练习-2-1 是否同一棵二叉搜索树 (35 分)一、题目二、题解题136.2021秋周练习-2-1 是否同一棵二叉搜索树 (35 分)一、题目二、题解根据输入用数组来存储二叉搜索树,然后比较数组元素是否都相同就好#include <bits/stdc++.h>using namespace std;int main(){ int N,L; cin>>N; while(N>0) {原创 2021-10-22 22:25:02 · 88 阅读 · 0 评论 -
题125.2021秋周练习-3-5 单链表分段逆转 (20 分)
文章目录题125.2021秋周练习-3-5 单链表分段逆转 (20 分)一、题目二、题解题125.2021秋周练习-3-5 单链表分段逆转 (20 分)一、题目二、题解本题要你分段逆转链表,可想到用栈和队列来顺序存原始链表元素,然后元素出栈,出队接入新链表从而达到目的。注意:这里函数返回值啥也没有,是要你直接对原链表进行分段逆转操作,所以你不能通过return手段返回一个新链表回去,也不行直接对L进行修改,这是形参,单向值传递记得吧,改不了的!但是你可以把新链表接到L->Next上。原创 2021-10-06 13:31:43 · 108 阅读 · 0 评论 -
题177.2021秋周练习-2-4 交换二叉树中每个结点的左子树和右子树(30 分)
文章目录题177.2021秋周练习-2-4 交换二叉树中每个结点的左子树和右子树 (30 分)一、题目二、题解题177.2021秋周练习-2-4 交换二叉树中每个结点的左子树和右子树 (30 分)一、题目二、题解交换二叉树的输出序列直接在先序遍历的时候改成右根左遍历就好#include <bits/stdc++.h>using namespace std;typedef struct Tnode *Position;typedef Position BinT;s原创 2021-12-19 19:59:21 · 534 阅读 · 0 评论 -
题154.2022寒假天梯赛训练&2021秋周练习-7-5 部落 (20 分)
文章目录题154.2021秋周练习-7-5 部落 (20 分)一、题目二、题解题154.2021秋周练习-7-5 部落 (20 分)一、题目二、题解无话可说,直接无脑并查集。。。#include <bits/stdc++.h>using namespace std;const int Maxsize=10010;int parent[Maxsize];int total=0,num=0;int maxindex=0;void init(){ fi原创 2021-11-20 21:53:30 · 592 阅读 · 0 评论 -
题128.2021秋周练习-3-10 串的模式匹配 (20 分)(kmp算法以及string.length()需要注意的问题)
文章目录题128.2021秋周练习-3-10 串的模式匹配 (20 分)一、题目二、题解题128.2021秋周练习-3-10 串的模式匹配 (20 分)一、题目二、题解本题考查字符串模式匹配,直接套kmp算法就好#include <bits/stdc++.h>using namespace std;void getNext(string str,int next[]){ int j=0,k=-1; next[0]=-1; while(j&原创 2021-10-08 22:59:53 · 111 阅读 · 0 评论 -
题171.2021秋周练习-3-1 奥运排行榜 (25 分)
文章目录题171.2021秋周练习-3-1 奥运排行榜 (25 分)一、题目二、题解题171.2021秋周练习-3-1 奥运排行榜 (25 分)一、题目二、题解本题属于常规排序题。但是在这里要注意几点:第一,排序以后,当不同国家在同一类型的榜单中牌数相同时他们的排名是相同的,当牌数不同时,那个国家的排名应为榜单数组中下标+1(不知道是常识还是pta默认如此,我之前倒是想着为前一个国家·1排名+1了)。第二,当不同类型榜单排名相同时,应该取编号最小者,这个你按编号从小到大去找最小排名就可以做原创 2021-12-11 23:37:00 · 155 阅读 · 0 评论 -
题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算 (25 分)
文章目录题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算(Floyd/bfs) (25 分)一、题目二、题解题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算(Floyd/bfs) (25 分)一、题目二、题解本题要你求其余点到给定源点的距离总和的平均值的倒数,主要问题在于如何求其余点到给定源点的距离。方法一是直接用Floyd求多源最短路径,后面直接对源点到其余点距离求和就好。方法二是由于是无权图,所以问一次就使用一次bfs求单源最短路径,bfs结束距原创 2021-11-21 23:43:28 · 642 阅读 · 0 评论 -
题175.2021秋周练习-3-4 整型关键字的散列映射 (25 分)
文章目录题175.2021秋周练习-3-4 整型关键字的散列映射 (25 分)一、题目二、题解题175.2021秋周练习-3-4 整型关键字的散列映射 (25 分)一、题目二、题解考察除留余数法+线性探测。注意一点,当关键值重复时有可能是碰到了之前一样的data,此时应该输出之前data对应的关键值,判断依据就是那个所谓的hashdata[pos]==data了。#include <bits/stdc++.h>using namespace std;int hash原创 2021-12-14 22:21:14 · 475 阅读 · 0 评论 -
题173.2021秋周练习-7-2 冒泡法排序 (30 分)
文章目录题173.2021秋周练习-7-2 冒泡法排序 (30 分)一、题目二、题解题173.2021秋周练习-7-2 冒泡法排序 (30 分)一、题目二、题解冒泡排序,这里控制下最外层循环为i=K时退出就好,从而控制趟数。#include <bits/stdc++.h>using namespace std;int main(){ int a[110]; int N,K; cin>>N>>K; for(in原创 2021-12-12 22:54:58 · 213 阅读 · 0 评论 -
题174.2021秋周练习-3-3 搜索树判断 (25 分)
文章目录题174.2021秋周练习-3-3 搜索树判断 (25 分)一、题目二、题解题174.2021秋周练习-3-3 搜索树判断 (25 分)一、题目二、题解本题要你判断输入的先序序列是否是某二叉搜索树或某镜像二叉搜索树先序遍历序列,首先要知道一点,若前者成立那么用那个输入的先序遍历建立的二叉搜索树(用那个输入的先序遍历建二叉搜索树时,它是会按照左小右大准则来建的)的先序遍历一定是那个输入的先序遍历,后者同理。所以我们只需建对应的二叉搜索树,然后判断那棵树先序遍历结果是否为输入就好,若不原创 2021-12-14 21:31:39 · 645 阅读 · 0 评论 -
题165.pta数据结构题集-04-树5 Root of AVL Tree (25 分)
文章目录题165.pta数据结构题集-04-树5 Root of AVL Tree (25 分)一、题目二、题解题165.pta数据结构题集-04-树5 Root of AVL Tree (25 分)一、题目二、题解#include <bits/stdc++.h>using namespace std;int N;typedef struct Tnode *Position;typedef Position BinT;struct Tnode{ int原创 2021-11-29 10:27:29 · 575 阅读 · 0 评论 -
题164.pta数据结构题集-04-树7 二叉搜索树的操作集 (30 分)
文章目录题164.pta数据结构题集-04-树7 二叉搜索树的操作集 (30 分)一、题目二、题解题164.pta数据结构题集-04-树7 二叉搜索树的操作集 (30 分)一、题目二、题解Position Find( BinTree BST, ElementType X ){ BinTree T=BST; if(T==NULL||T->Data==X)//找到的T是空树或者对应的数据就是所求则返回T { return T; }原创 2021-11-29 10:17:18 · 315 阅读 · 0 评论 -
题158.pta数据结构题集-05-树9 Huffman Codes (30 分)
文章目录题157.pta数据结构题集-05-树9 Huffman Codes (30 分)一、题目二、题解题157.pta数据结构题集-05-树9 Huffman Codes (30 分)一、题目二、题解本题要你判断所给的编码是否正确。依据题意,编码正确需要满足两个条件:第一是编码长度和哈夫曼编码长度相等,第二是编码不会出现前缀问题。代码如下:#include <bits/stdc++.h>using namespace std;typedef struct T原创 2021-11-22 17:44:09 · 497 阅读 · 0 评论 -
题139.pta数据结构题集-03-树2 List Leaves (25 分) & 2021秋周练习-4-13 先序输出叶结点 (10 分)
文章目录题139.pta数据结构题集-03-树2 List Leaves (25 分)一、题目二、题解题139.pta数据结构题集-03-树2 List Leaves (25 分)一、题目二、题解#include <bits/stdc++.h>using namespace std;int check[10];//用于标记左右子树节点编号struct Tree{ int data; int left; int right;}T[10];原创 2021-10-27 22:17:03 · 148 阅读 · 0 评论 -
题138.pta数据结构题集-03-树1 树的同构 (25 分) & 2021秋周练习-4-11 Isomorphic (10 分)
文章目录题138.pta数据结构题集-03-树1 树的同构 (25 分)一、题目二、题解题138.pta数据结构题集-03-树1 树的同构 (25 分)一、题目二、题解//树的同构#include <stdio.h>#include <stdlib.h>#define N 10#define Null -1//宏定义Null=-1,用于后期表示“空”struct Treenode{ char element; int left;//表原创 2021-10-27 22:11:31 · 169 阅读 · 0 评论 -
题137.pta数据结构题集-03-树3 Tree Traversals Again (25 分)
文章目录题137.pta数据结构题集-03-树3 Tree Traversals Again (25 分)一、题目二、题解题137.pta数据结构题集-03-树3 Tree Traversals Again (25 分)一、题目二、题解依题意知道push之前若没有pop操作,则建立上一个push到栈里的节点的左子树,反之则建立pop出来的节点的右子树#include <bits/stdc++.h>using namespace std;int flag=0;t原创 2021-10-27 22:08:19 · 100 阅读 · 0 评论 -
题135.pta数据结构题集-02-线性结构3 Reversing Linked List (25 分)
文章目录题135.pta数据结构题集-02-线性结构3 Reversing Linked List (25 分)一、题目二、题解题135.pta数据结构题集-02-线性结构3 Reversing Linked List (25 分)一、题目二、题解碰到这个数并不大的节点地址问题,其实用数组下标来表示地址是完全没问题的,所以我们用data0,next0,re_next来存储下标对应地址的节点信息 。之后遍历链表,将节点入栈,入队,当节点数达到逆转数目时节点全出栈,将信息存到对应地址的re_原创 2021-10-15 22:25:41 · 138 阅读 · 0 评论 -
题34.pta数据结构题集-7-23 还原二叉树 (25 分)
文章目录题34.pta数据结构题集-7-23 还原二叉树 (25 分)一、题目二、题解题34.pta数据结构题集-7-23 还原二叉树 (25 分)一、题目二、题解本题的关键在于通过前中序遍历建立二叉树,然后改造后序遍历来计算树的高度#include <bits/stdc++.h>using namespace std;char pre[50],in[50];int N;typedef struct Tnode *Position;typedef Posit原创 2021-07-13 09:26:46 · 202 阅读 · 0 评论 -
题2.pta数据结构题集-File Transfer (25分)
文章目录题2.pta数据结构题集-File Transfer (25分)一、题目二、题解1.简析2.代码题2.pta数据结构题集-File Transfer (25分)一、题目二、题解1.简析并查集 按秩归并 路径压缩:2.代码未使用路径压缩:#include <stdio.h>#include <stdlib.h>#define Maxsize 100000void finish_connect(int set[])//连接操作{ in原创 2021-01-20 18:27:58 · 247 阅读 · 0 评论