01 2021 档案

摘要:插入(二叉搜索树性质是左子树全小,右子树全大): BinTree Insert(BinTree BST, ElementType X) { BinTree p = BST; if (!p) { BST = (BinTree)malloc(sizeof(struct TNode)); BST->Dat 阅读全文
posted @ 2021-01-17 00:04 完全感覚Dreamer 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-01-15 22:53 完全感覚Dreamer 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://pintia.cn/problem-sets/16/problems/664 建立一个最大100000的结构数组,模拟链表,两个域,数据域和指针域。 依次输入地址、值、下一个结点地址。 如输入N个结点,每K个结点进行逆序,少于K的不做处理。 注意:测试时输入可能有不在链表里 阅读全文
posted @ 2021-01-14 18:17 完全感覚Dreamer 阅读(82) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://pintia.cn/problem-sets/15/problems/712 1.分别建立两棵二叉搜索树 建立: Tree Initial(int N) { Tree T= (Tree)malloc(sizeof(struct TreeNode) * (N)); scanf 阅读全文
posted @ 2021-01-13 13:26 完全感覚Dreamer 阅读(82) 评论(0) 推荐(0) 编辑
摘要:题目要求:按照从上至下,从左至右(层序)的顺序输出二叉树的叶子结点。 思路:利用队列,保存每一个结点。 先将根入队,然后将根出队,访问根结点。将根结点的儿子结点入队,后面的结点依次执行此操作,这样所有的结点都可以被访问。 队列的定义及入队出队操作如下: typedef struct Queue* S 阅读全文
posted @ 2021-01-11 12:46 完全感覚Dreamer 阅读(67) 评论(0) 推荐(0) 编辑
摘要:同构的定义:给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。 更加具体的理解为:两棵树中的每两个对应结点的孩子必须相同,左右位置可不一样。 树的存储结构:结构数组。链表在对输入进行存储时没有数组方便。 如:输入如下样例后结构数组内容 8 A 1 2 B 阅读全文
posted @ 2021-01-10 22:03 完全感覚Dreamer 阅读(473) 评论(0) 推荐(0) 编辑
摘要:非递归实现 代码: Position BinarySearch(List L, ElementType X) { Position mid,start, end; start = 1; end = L->Last; mid = (1 + L->Last) / 2; // if (X == L->Da 阅读全文
posted @ 2021-01-09 13:09 完全感覚Dreamer 阅读(54) 评论(0) 推荐(0) 编辑
摘要:问题描述:给定一个栈,最多可存放M个元素,现要将N个数(1-N),随机入栈、出栈,入栈顺序由小到大,判断一个给定的序列是否合法。 思路:要依次判断序列中的每一个数,判定为不合法的情况有: 当前栈顶元素比该数大。因为目前处理的数还未出栈,并且一定比栈顶元素先入栈,而栈顶元素还未出栈,则该数不可能出栈成 阅读全文
posted @ 2021-01-08 23:48 完全感覚Dreamer 阅读(61) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示