
数据结构
鸣王星U+2647
这个作者很懒,什么都没留下…
展开
-
完全二叉搜索树Complete Binary Search Tree
完全二叉搜索树Complete Binary Search Tree问题描述Input SpecificationOutput SpecificationSample InputSample Output思路分析C语言代码问题描述A Binary Search Tree (BST) is recursively defined as a binary tree which has the fo...原创 2019-12-22 09:19:11 · 275 阅读 · 0 评论 -
堆中的路径
堆中的路径问题描述输入格式输出格式输入样例输出样例问题描述将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式对输入...原创 2019-12-20 10:21:32 · 263 阅读 · 0 评论 -
是否同一棵二叉搜索树
是否同一棵二叉搜索树问题描述输入格式输出格式输入样例输出样例C语言代码问题描述给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式输入包含若干组测试数据。每组数据的...原创 2019-12-16 19:08:26 · 310 阅读 · 0 评论 -
Tree Traversals Again
03-树3 Tree Traversals Again问题描述Input Specification:Output Specification:Sample Input:Sample Output:思路分析C语言代码问题描述An inorder binary tree traversal can be implemented in a non-recursive way with a stac...原创 2019-12-16 19:03:30 · 148 阅读 · 0 评论 -
03-树2 List Leaves输出叶子结点,二叉树的层序遍历
03-树2 List Leaves输出叶子结点,二叉树的层序遍历输出叶子结点,二叉树的层序遍历题目出处输入描述Input Specification:输出描述Output Specification:输入样例Sample Input:输出样例Sample Output:C语言代码实现输出叶子结点,二叉树的层序遍历题目出处题目出处:中国大学MOOC-陈越、何钦铭-数据结构输入描述Input ...原创 2019-12-16 11:03:43 · 421 阅读 · 0 评论 -
二叉树的同构
问题描述给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如下图给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。这幅图中的两棵树就不是同构的现给定两棵树,请你判断它们是否是同构的。输入格式输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(...原创 2019-12-14 11:46:44 · 686 阅读 · 0 评论 -
二叉搜索树的操作集
二叉搜索树的操作集函数接口定义:数据结构定义函数功能描述输入样例输出样例C语言代码函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );Position Find...原创 2019-12-13 16:38:18 · 122 阅读 · 0 评论 -
用递归与非递归方法实现汉诺塔问题,C语言实现
用递归与非递归方法实现汉诺塔问题,C语言实现原创 2019-11-08 11:31:31 · 2778 阅读 · 2 评论 -
用递归和非递归实现n的阶乘(C语言实现)
递归编写的程序简单清晰,但其空间和时间开销都很大。递归的算法完全可以转化为非递归实现,这就是递归的消除。消除递归的方法有两种,一是直接迭代,二是利用栈模拟递归的过程。原创 2019-10-23 16:10:08 · 727 阅读 · 0 评论 -
中缀表达式转后缀表达式,并输出后缀表达式和计算结果(支持 + - * / ^ 五种运算)C语言实现
通过把“中缀转后缀”和“后缀求值”两个算法功能集成在一起(非简单的顺序调用),实现对中缀表达式直接求值,新算法是直接扫描后缀表达式(支持 + - * / ^ 五种运算)输入格式:共1行,为1个字符串,即一个中缀表达式,其中每个数字或符号间由一个空格隔开。原创 2019-10-17 11:17:52 · 4858 阅读 · 1 评论 -
判断出栈序列是否可能C语言实现
判断出栈序列是否可能C语言实现有一个容量为m的栈,有k个长度为n的序列入栈,判断出栈序列是否合理,合理输出YES,否则输出NO输入:5 7 35 6 7 4 3 2 17 6 5 4 3 2 11 2 3 4 5 6 7输出:YESNOYES#include <stdio.h>#include <stdlib.h&g...原创 2019-10-13 20:49:45 · 789 阅读 · 0 评论 -
线性结构4 Pop Sequence
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is 7, we can obta原创 2019-10-07 21:26:30 · 106 阅读 · 0 评论 -
一元多项式的乘法和加法用带头结点的单链表的C语言实现
一元多项式的乘法和加法用带头结点的单链表的C语言实现设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0...原创 2019-10-07 17:17:05 · 1008 阅读 · 0 评论 -
约瑟夫问题C语言实现
题目内容:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入格式:输入包含两个整数,第一个是n,第二个是m (0 < m,n <=300)。输出格式:输出包含一行,即最后猴王的编号。输入样例:18 2输出样例:5原创 2019-10-03 09:14:03 · 1489 阅读 · 1 评论 -
用单链表实现字符串的插入,插入在前一个字符串最大的字符后
用单链表实现字符串的插入,插入在前一个字符串最大的字符后#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#define maxsize 100000char s1[maxsize+1],s2[maxsize+1];typedef i...原创 2019-10-02 09:59:14 · 992 阅读 · 0 评论