PTA陈越、何钦铭-数据结构-2022春
文章平均质量分 65
TJH_67
立志做一名帅气不秃顶的程序猿
展开
-
03-树2 List Leaves (25 分)
思路:用静态链表(即数组)的方式创建一棵树,但要注意要找到树的根结点,根结点的特性就是没有任何一颗树的孩子会是它,所以用一个数组sig来标记,一开始sig中的元素全为0,对于题目中出现的每个左孩子,右孩子,就把它在sig中对应的元素改为1,那么最后元素仍未0的就是根结点;之后采用层序遍历,将叶结点输出即可。原创 2022-04-06 16:56:02 · 116 阅读 · 0 评论 -
03-树1 树的同构 (25 分)
用静态链表(即数组)的形式表示两棵树,数组的每一个单元是一个结构,但是题目中没有给出根结点的位置,所以在CreateTree()中,要找到根结点,也很简单,因为是根结点,所以没有一个结点的孩子会是它,则使用一个数组sig来标记,一开始sig中数据全为0,在读取每一个结点时,便把它的孩子在sig中对应的0改为1,最后遍历sig,那么数据还是0的对应的下标就是根结点。随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结点的编号。而图2就不是同构的。原创 2022-04-05 14:50:28 · 163 阅读 · 0 评论 -
02-线性结构4 Pop Sequence (25 分)
这个题的关键是每次pop出来的数与之前pop出来的一个数的关系,比如说:pop出来的是2,那么下一个pop出来的数只能是1到6之间的一个数。那这样就简单了,设置两个指针left和right,一开始left = 1,right = N。之后每读一个数,判断它是不是left与right之间的数,不是直接输出NO,是的话就对指针left和right进行调整,right++,而对left = t-1。原创 2022-04-03 10:35:05 · 297 阅读 · 0 评论