- 博客(45)
- 收藏
- 关注

原创 表达式的前后缀转换
形如a*(b+c)-d,第一步先加括号,然后再转化为对应的表达式。( ( a x ( b + c ) ) - d )原则:符号前缀则把符号移到第一个包含自己的括号前,符号后缀则移到括号后前缀:-( x( a +( b c ) ) d ) ----> -xa+bcd后缀: ( ( a ( b c )+ )x d )- ----> abc+x...
2019-06-24 09:18:07
637
原创 拼图小游戏Java简易版
Java拼图小游戏,非常简单,不需要太多技术,只需要会封装继承多态就能解决,非常适合Java初学者,能对封装继承多态认识更深。
2022-06-27 17:25:01
1986
1
原创 windowsMySQL8.0版本root密码重置简单有效方法
win10MySQL8.0版本root密码重置注意:是8.0版本,不是5.7版本1.关闭数据库鼠标右击电脑打开管理点击服务找到你的MySQL80然后关闭2.打开管理员提示符窗口鼠标右击windows打开命令提示符(管理员)3.进入MySQL的bin目录下进行操作例如我输入 cd:C:\Program Files\MySQL\MySQL Server 8.0\bin 就进入了,每个人安装的地方不同,目录也不同。接下来输入mysqld --console --skip-grant-tables
2020-06-06 04:50:52
654
原创 建立最大堆代码解释
//将堆分解为由每个父节点所组成的一个个小堆,然后按照删除堆//的处理方法来处理//删除操作代码解析在作者博客里 Viod BuildHeap(MaxHeap H){ int i; for(i=H->Size/2;i>0;i--) //从最后一个父节点开始 PercDown(H,i);//参数传入的是整个堆和每个小堆的根节点(父结点) }Void PercDown(...
2019-05-21 18:14:00
597
2
原创 最大堆的删除操作代码解释
//最大堆的删除操作 ElementType DeleteMax(MAxHeap H){ int Parent,Child; ElementType MaxItem,X; if(IsEmpty(H)) //判断最大堆是否为空 { printf("最大堆已空"); return ERROR; } MaxItem=H->Data[1]; //取出堆的根结点 X=H-&...
2019-05-21 17:50:54
596
原创 编码中关于二义性的解释
避免二义性的关键在于任何一个字符的编码都不能是另一个字符的编码的前缀这句话的理解是:任何一个编码不存在包含关系,如001和0011,从左到右,发现0011的前三个数字001和001相同,这就说明001和0001属于包含关系,所以存在二义性。而001和0001,001不等于000,所以存在包含关系。...
2019-05-20 16:10:08
2013
原创 完全二叉树在数组中存储时父亲与孩子的下标关系
N个结点的完全二叉树中,对于下标为 i 的结点:1.当i/2取整>=1 时,i/2取整单元是其父结点;当i/2取整=0时,表明该结点是数的根节点,无父结点2.当2i<=N 时,2i单元是其左孩子;否则无左孩子3.当2i+1<=N 时,2i+1 单元是其右孩子;否则无右孩子(前提:数组其实单元下标是1)...
2019-05-13 20:31:01
3642
原创 堆的定义
堆定义操作的时间复杂度1.普通数组2.有序数组3.普通链表4.有序链表性质最大堆和最小堆堆结构定义我们知道,队列的特点是“先进先出“,但如果队列中的某些元素需要先出即“插队”的话,队列无法满足这种要求,于是提出了堆的概念。堆也称为“优先队列”,是一种特殊的队列,从堆中取出元素是依照元素的优先级大小,而不是进入队列的先后顺序。操作的时间复杂度1.普通数组插入的时间复杂度为O(1),删除元...
2019-05-13 18:07:59
2466
原创 平衡二叉树的定义
定义平衡二叉树又称AVL树,它的插入语、删除、查找操作均可在O(log n)的时间内完成。1. AVL树或者是一棵空树,或者是具有下列性质的非空二叉搜索树:(1) 任一结点的左、右子树均为AVL树(2) 根结点左、右子树高度差绝对值不超过12. 对于二叉树中任一结点T,其平衡因子(BF)定义为BF(T)=hl-hr,其中hl和hr分别为T的左、右子树的高度有了平衡因子的定义,AVL树“...
2019-05-09 21:07:29
5541
转载 做编程题没有思路怎么办
【来信】老师您好!我是一名计算机专业大二的学生,我现在在做一系列c语言竞赛一些容易的题目,可是我发现我碰到的问题会很没有思路,不知道方向,看见网上的很多同学都能够解决,而我却不能,我不知道自己差到哪了,我不知道怎么办才好,都有很多中学生的水平都比我这个大学生的水平要高,我真的不知道,那些未上大学就已经在编程方面的同学就很牛的同学是怎么做的,我感觉计算机这条路走的好难!【我的回复】 编程起...
2019-05-08 23:46:41
7762
1
原创 是否二叉搜索树PTA
本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree...
2019-05-08 23:35:55
1226
2
原创 二叉搜索树的定义及相关操作
二叉搜索树定义操作二叉搜索树的查找操作Find查找最大和最小元素二叉搜索树的插入二叉搜索树的删除定义二叉搜索树(BST)是一棵特殊的而擦函数,可以为空,它满足一下性质:1. 非空左子树的所有键值小于其根结点的键值2. 非空右子树的所有键值大于其根结点的键值3. 左、右字数都是二叉搜索树操作二叉搜索树的查找操作Find递归实现Position Find(BinTree BST, E...
2019-05-08 21:27:44
534
原创 还原二叉树PTA
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5代码:#include<stdio.h>...
2019-05-07 21:13:03
1569
原创 由遍历方法确定二叉树
满足条件:(同时满足)1.至少有两种遍历方法2.必须要有中序遍历由先序遍历和中序遍历确定一棵二叉树由先序遍历可确定根节点,然后再结合中序遍历即可确定左子树和右子树,再按先序遍历的方式分别遍历根节点的左子树和右子数,然后再分别确定左右子树中的根节点,再结合中序遍历确定子树中的左右子树,以此递归下去,最终遍历完所有元素,即可确定二叉树。(由后序遍历和中序遍历的思想相同)例题分析已知二叉树...
2019-05-07 17:46:19
4543
原创 求二叉树高度PTA
本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;...
2019-05-06 21:37:07
1739
原创 二叉树的遍历PTA(详解)
本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:type...
2019-05-06 21:34:38
14522
2
原创 二叉树的操作(一)
二叉树的操作二叉树的遍历中序遍历先序遍历后序遍历层序遍历二叉树叶结点的输出算法二叉树的高度算法二叉树的遍历中序遍历它是指对树中任一结点的访问实在遍历玩其左子树后进行的,访问此结点后,再对其右子数遍历。其遍历过程为:1.中序遍历其左子树2.访问根结点3.中序遍历其右子树代码:void InorderTraversal(BinTree BT){ if(BT) { Inorde...
2019-05-05 17:35:14
266
原创 二叉树的存储结构类型
存储结构类型1。顺序存储结构描述对象特点步骤优点缺点二叉树的链表存储1。顺序存储结构描述这种结构是用一组连续的存储单元(比如数组)存储二叉树结点的数据,其结点的父子关系是通过他们相对位置来反映的,而不需要任何附加的存储单元来存放指针。对象通常情况下用于完全二叉树的存储。特点从数的根结点开始,从上到下,从左到右,一次给结点编号并将数据存放到一个数组的对应单元中。步骤概括起来,在N...
2019-05-05 17:04:37
1170
原创 使用函数输出水仙花数PTA
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=(1^3) +(5^3) +(3^3) 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );...
2019-05-02 10:50:17
22398
4
原创 数字金字塔PTA
本题要求实现函数输出n行数字金字塔。函数接口定义:void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例:#include <stdio.h>void pyramid( int n );int main(){ int...
2019-05-02 10:42:05
2065
3
原创 删除单链表偶数节点PTA
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *createlist();struct ListNode *deleteeven( struct ListNode *hea...
2019-05-02 10:39:29
2263
2
原创 学生成绩链表处理PTA
本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数createlist利用scanf从输入中获取学生的信息,将其组...
2019-05-02 10:36:43
1958
1
原创 单链表结点删除--PTA
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m...
2019-05-02 10:33:08
2368
2
原创 指定位置输出字符串--PTA
本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#...
2019-05-02 10:30:00
11705
8
原创 判断回文字符串--PTA
本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数 palindrome 判断输入字符串 char *s 是否为回文。若是则返回 true ,否则返回 false 。裁判测试程序样例:#include <stdio.h&g...
2019-05-02 10:23:56
4867
原创 使用函数实现字符串部分复制--PTA
本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。函数接口定义:void strmcpy( char *t, int m, char *s );函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。裁判测试程序样例:#include <stdio.h>...
2019-05-02 00:15:51
21403
10
原创 递归求阶乘和--PTA
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h...
2019-05-02 00:11:40
7627
2
原创 递归求简单交错幂级数的部分和--PTA
本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x-x2+x3-x4+⋯+(-1)(n-1) x^n函数接口定义:double fn( double x, int n );其中题目保证传入的 n 是正整数,并且输入输出都在双精度范围内。函数 fn 应返回上述级数的部分和。建议尝试用递归实现裁判测试程序样例:#include <stdio.h>dou...
2019-05-02 00:06:08
1018
原创 拆分实数的整数与小数部分--PTA
本题要求实现一个拆分实数的整数与小数部分的简单函数。函数接口定义:**void splitfloat( float x, int intpart, float fracpart );其中 x 时被拆分的实数(0≤x<10000),*intpart 和 *fracpart 分别是将实数x拆分出来的整数部分与小数部分。裁判测试程序样例:#include <stdio.h>...
2019-05-01 23:43:20
13773
6
原创 递增的整数序列链表的插入--PTA
本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中 List 结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrTo...
2019-05-01 23:23:52
3311
原创 求单链表结点的阶乘和--PTA
本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在 int 范围内。函数接口定义int FactorialSum( List L );其中单链表 List的定义如下:typedef struct Node *PtrToNode;struct Node { int Data; /* 存储结点数据 */ PtrToNode Next; /...
2019-05-01 23:17:25
433
原创 掉入陷阱的数字(最简) PTA
对任意一个自然数N0,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1;然后对N1重复这种操作,可以产生新自然数N2;……多次重复这种操作,运算结果最终会得到一个固定不变的数Nk,就像掉入一个数字“陷阱”。本题要求对输入的自然数,给出其掉入“陷阱”的过程。输入格式:在一行内给出一个自然数N0(N0<30000)。输出格式:...
2019-04-29 21:04:46
1394
1
原创 数据结构之二叉树的定义
二叉树定义及其逻辑表示定义逻辑表示性质定义及其逻辑表示定义一个二叉树是一个又穷的结点集合。这个集合可以为空,若不为空,则它是由根节点和成为其左子树和右子树的两个不相交的二叉树组成。逻辑表示下面是二叉树常见的五种基本形态:性质二叉数的深度小于等于结点数N,可以证明平均深度是O(√n)。如图所示,写斜二叉树也称为退化二叉树,斜二叉树结构最差,深度达到最大N,它已退化为线性表。在一棵二叉...
2019-04-28 18:11:44
1139
1
原创 数据结构之数的定义、表示和术语
数定义性质术语结点的度数的度叶结点父节点子节点兄弟结点祖先结点结点的层次数的深度和数的高度分支路径和路径长度定义官方说法数是n(n>=0)个结点构成的有限集合。当n=0时成为空树。其实数就是类似与树枝的一种数据结构组织类型。性质1.数中有一个称为“树根”(Boot)的特殊结点,用r表示,这就类似于每个数只有一个树根。2.其余结点可以划分为m个不相交的子集T1,T2,···,Tn。...
2019-04-28 17:31:59
1084
原创 C语言考试选择题-PTA
1.int c[]={1, 3, 5};int **(一个星号)k=c+1;printf("%d",*++k)输出的结果是:CA.3 B.4 C.5 D.62.如果二进制文件a.dat已经存在,现在要求写入全新数据,应以()方式打开。BA.“w” B.“wb” C.“w+” D.“wb+”首先是dat(二进制)文件,必须带b。全新文件,不能有+号,故选B3.直接使文件指针重新定位到文件读...
2019-04-27 20:50:20
15116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人