PTA
Wade_Gao
这个作者很懒,什么都没留下…
展开
-
浙大版《数据结构(第2版)》题目集习题4.5 顺序存储的二叉树的最近的公共祖先问题 (25分)
二、解题思路这个题利用了二叉树孩子结点和其父节点下标的索引关系:若顺序树的索引从1开始,那么子节点的索引除以二就是其父节点的索引,注意一定是要使得树的索引从1开始才有这个性质三、解题代码#include <iostream>#include <vector>using namespace std;int main(){ int n; cin >> n; auto T = new int[n]; if(!T) exit(0)..原创 2020-07-13 18:05:01 · 231 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集习题3.11 表达式转换 (25分)
一、题目描述算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 - * + 8 4 / +二、解原创 2020-07-06 22:22:39 · 1393 阅读 · 0 评论 -
数据结构与算法题目集(中文)7-15 QQ帐户的申请与登陆 (25分)
一、解题思路采用unordered_map建立起QQ号和pwd的映射,仅此而已二、解题代码#include <iostream>#include <string>#include <unordered_map>using namespace std;int main(){ int N; cin >> N; unordered_map<string, string> ump; for(int i = .原创 2020-07-04 23:41:00 · 209 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集最长连续递增子序列 (20分)
一、解题思路采用双指针法,就像切割字符串一样,来处理这个序列。首先定义一对前后指针left和right,分别表示本递增区间的起始位置和终止位置然后定义一个slnStart,来确定当前最优解(当前找到的最长递增序列)的起始位置定义一个maxLength,其含义为当前找到的最长长度,设置初始值为1,意思是即使向量全逆序,也至少要输出一个元素然后呢,挨个扫描向量的元素,查看下一个元素是不是递增的,直到找到本递增区间的终止位置然后,根据得到的left和right值,就可以确定这个递增区间的长度,位ri.原创 2020-07-04 23:22:35 · 447 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集5.13 词频统计 (30分)
请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符。而合法的“单词字符”为大小写字母、数字和下划线,其它字符均认为是单词分隔符。输入格式:输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词。输出格式:在第一行中输出文本中所有不同单词的个数。注意“单词”不区分英文大小写,例如“PAT”和“pat”被认为是同一个单词。随后按照词频递减的顺原创 2020-06-24 22:18:28 · 597 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集5.10 线性探测法的查找函数 (20分)
一、题目描述#include <stdio.h>#define MAXTABLESIZE 100000 /* 允许开辟的最大散列表长度 */typedef int ElementType; /* 关键词类型用整型 */typedef int Index; /* 散列地址类型 */typedef Index Position; /* 数据所在位置与散列地址是同一类型 *//* 散列单元状态类型,分别对应:有合法元素、空单元、有已删除元素 */原创 2020-06-24 12:25:07 · 389 阅读 · 0 评论 -
PAT乙级1094 谷歌的招聘(20分AC)
谷歌的招聘题目就自己上链接看吧刚开始因为没有注意保持要求的输出位数,第三个测试点通不过。比如输入为:6 4200236 虽然答案应该是23,但是你得输出0023,就是这么个原因。加了两句就OK了cout.width(K);cout.fill('0');以下是AC的代码#include <iostream>#include <cstring>#i...原创 2020-03-12 23:42:21 · 137 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集1.9 有序数组的插入 (20分)
本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序。函数接口定义:bool Insert( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一个线性表,原创 2020-06-22 19:03:50 · 284 阅读 · 0 评论 -
浙大版《数据结构(第2版)》题目集3.13 双端队列 (25分)
双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头;Pop(D):删除双端队列D的头元素,并返回;Inject(X,D):将元素X插入到双端队列D的尾部;Eject(D):删除双端队列D的尾部元素,并返回。函数接口定义:bool Push( ElementType X, Deque D );E原创 2020-06-16 23:37:54 · 869 阅读 · 0 评论 -
PTA数据结构与算法题目集(中文)-6-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 int Position;struct SNode { ElementType *Data;原创 2020-05-11 01:11:12 · 312 阅读 · 0 评论 -
PTA数据结构与算法题目集(中文)6-2:顺序表操作集
一、题目描述#include <stdio.h>#include <stdlib.h>#define MAXSIZE 5#define ERROR -1typedef enum {false, true} bool;typedef int ElementType;typedef int Position;typedef struct LNode *Lis...原创 2020-05-07 19:32:47 · 312 阅读 · 0 评论 -
PTA数据结构与算法题目集(中文)7-26:Windows消息队列
一、题目描述二、解题思路每次都要找优先级最高的,这明显是采用优先队列来解决,结合Hash表快速对优先级所对应的消息进行快速定位,最后把输出信息保存到一个队列里,结束时一起输出,但是不保存到队列直接输出也可以三、解题代码#include <iostream>#include <queue>#include <string>#include <...原创 2020-05-07 16:40:51 · 223 阅读 · 0 评论