- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 《论文写作》心得
从中文的角度, "摘要"就是把论文重要的内容摘录出来;从英文的角度, Abstract 就是把重要的内容抽取出来. 它通常包括三个部分: 已有工作的评述, 本文工作的描述, 实验结果. 有些期刊明确要求按照 Background, contribution, experiments 三个方面描述。具体分析问题及其重要性:本句可以说明问题所属的领域, 解释最重要的概念, 或者强调问题的重要性.分析: 针对性强, 有营养.已有工作:本句可以描述该问题的流行解决方案.
2023-11-04 11:02:18
308
1
原创 Java进行堆排序
堆的基本概念堆就是由完全二叉树构成的,而完全二叉树又包括满二叉树或者从左往右依次填充叶结点的树,即要么没有叶节点,如果只有一个叶节点必然是左叶结点。堆结点的关系父节点下标为i,则左孩子的坐标为2i+1,右孩子的坐标为2i+2.注下标从0开始堆排序的步骤第一步:根据给出的数据建立堆,本题是升序排列,所以建立大根堆(如果降序排列则建立小根堆,至于为何,看完剩下的步骤就知道了) public static void heapInsert(int[]arr,int index){
2021-05-28 17:33:09
282
原创 求数据排序之后相邻数的最大差值
第一步:我们首先遍历大小为n的数组,找到最大值和最小值max,min。第二步:用n+1个桶来处理数据,将最小的数放在第一个桶,最大的数放在第n+1个桶中,由于数组大小为n,所以必然有一个桶是空桶,所以最大间隔值必然出现在两个桶之间,可用数学上的反证法证明。咱们用三个不同的数组来记录每个桶的状态,boolean[] hasNum = new boolean[len+1]; 桶中是否有数据int[] maxs = new int[len+1]; 桶中的最大值int[] mins = new i
2021-05-25 19:12:43
491
原创 蛇形打印矩阵
用双指针的方法蛇形打印矩阵示意图:所以蛇形打印的顺序可以看作两个指针的同时移动,每次需要打印的内容就是两个只针对角线上所对应的内容,每移动一次打印的方向就改变一次,直到任意一个起点移动到最后一个顶点的位置。package chap1;/** * @author your_tt * @date 2021年05月25日16:19 */public class Serpentine_matrix { public static void serpentine(int[][] mat
2021-05-25 16:23:33
531
原创 不用辅助数组实现矩阵顺时针旋转90°
You are given an n x n 2D matrix representing an image. Rotate theimage by 90 degrees (clockwise). Follow up: Could you do thisin-place?解题思路:本题要求我们对矩阵进行90°旋转.1.求出矩阵的左上角坐标以及右下角坐标,然后我们对矩阵的顶点进行旋转,旋转后在对矩阵最外圈的其他元素进行旋转2.遍历完最外圈后再依次对矩阵的内圈进行旋转3.必定是方阵,否则旋转.
2021-05-23 14:32:08
416
原创 Java内部类以及匿名内部类
一.什么是内部类内部类就是在一个类当中再次声明一个类,根据声明位置可以分为局部内部类和成员内部类。内部类可以访问外部类的变量和方法,包括私有变量。但是外部类不可以随便访问内部类 的方法和变量。同样,内部类可以public 也可以private 在调用上有一点区别,但安全起见,一般还是private.1.1成员内部类成员内部类就是声明在变量位置的内部类例如:/*局部内部类*/public class outer { private String name; pri.
2021-01-26 13:55:06
90
原创 7-2 综艺节目打分计算问题-hebust (10分) java
综艺节目打分计算问题综艺节目现场专家打分时,要求去掉一个最高分,再去掉一个最低分,然后计算剩余打分的平均值输入格式:固定为1行,为每个评委给出的分数,范围【0-100】正整数,元素之间使用空格分开,元素个数【3-100】输出格式:按要求计算出的平均值的正整数【如果有小数部分,直接舍弃】输入样例:在这里给出一组输入。例如:50 80 70 90 60输出样例:在这里给出相应的输出。例如:70关于这道题循环自然可以,不过我喜欢用泛型。import java.util.Array
2020-10-30 20:19:16
2287
原创 练习4.2 平衡二叉树的根 (25分) C语言实现
将给定的一系列数字插入初始为空的AVL树,请你输出最后生成的AVL树的根结点的值。输入格式:输入的第一行给出一个正整数N(≤20),随后一行给出N个不同的整数,其间以空格分隔。输出格式:在一行中输出顺序插入上述整数到一棵初始为空的AVL树后,该树的根结点的值。输入样例1:588 70 61 96 120输出样例1:70输入样例2:788 70 61 96 120 90 65输出样例2:88本题重点在于平衡二叉树的调整。首先平衡二叉树是一种特殊的二叉排序树
2020-08-27 21:54:16
900
原创 练习4.3 堆中的路径 (25分)
将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000,10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26 24 105
2020-08-27 18:31:47
1172
原创 练习4.1 根据后序和中序遍历输出先序遍历 (25分)
本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树.输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:Preorder: 4 1 3 2 6 5 7注意,后
2020-08-20 15:57:05
7086
2
原创 汉诺塔的非递归实现 (25分)
借助堆栈以***非递归(循环)方式***求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。输入格式:输入为一个正整数N,即起始柱上的盘数。输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。输入样例:3输出样例:a -> ca -> bc -> ba -> cb -> ab -> ca ->
2020-08-20 15:20:54
741
原创 自测-3 数组元素循环右移问题 (20分) c语言实现
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2 3 4 5 6输出样例:5 6 1 2 3 4其
2020-08-07 23:06:23
1196
原创 自测-1 打印沙漏 (20分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状,
2020-08-07 16:40:33
720
原创 7-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的乘积与和。
输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4
2020-08-01 16:14:06
12572
4
原创 关于二叉树的四种遍历方法以及递归在二叉树中的运用
**1:二叉树的遍历(借助队列的先进先出特点来实现)**#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};BinTree Crea
2020-07-28 15:33:52
215
原创 6-7 在一个数组中实现两个堆栈 (20分) 本题要求在一个数组中实现两个堆栈。
6-7 在一个数组中实现两个堆栈 (20分)本题要求在一个数组中实现两个堆栈。函数接口定义: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 { Elem
2020-07-28 13:20:19
9827
10
原创 6-5 链式表操作集 (20分) 本题要求实现链式表的操作集。
函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrTo
2020-07-27 16:48:26
6093
7
原创 数据结构 6-1 数组元素的区间删除 (11分)
6-1 数组元素的区间删除 (11分)给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:int Delete( int A[], int L, int minA, int maxA );其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于maxA的元素删除,同时保证表中剩余元素保持顺序
2020-07-24 10:29:53
1471
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人