自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 LeetCode142. 环形链表 II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

2023-05-21 12:58:24 64

原创 NOJ算法实验回眸

11月7号晚上18:30,西工大算法实验期末考试开始,那天是立冬,天气有了些凉意。五天已过,虽然成绩尚未公布,结果却已是心知肚明,0.5学分虽然非常微小,但算法实验的意义却远比这一点学分重要得多。下面,对这次算法实验考试题目进行回顾。一,二分查找...

2021-11-12 16:04:03 1381 2

原创 NOJ算法实验二-1143-字母转换

描述:通过栈交换字母顺序。给定两个字符串,要求所有的进栈和出栈序列(i表示进栈,o表示出栈),使得字符串1在求得的进出栈序列的操作下,变成字符串2。输出结果需满足字典序。例如TROT 到 TORT:[i i i i o o o oi o i i o o i o]这一题用到的算法为回溯,其中有一些简单的栈的应用,思路难度不大,但是要注意细节。首先要设立三个字符串,分别是start(输入),mid(栈)和ans(由出栈构成的字符串),每一次可以入栈(start的一个字符压入mid)或者出栈(mi

2021-10-04 16:15:02 502

原创 算法-洛谷-P1784 数独

题目描述数独是根据 9×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1−9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。题目来源于洛谷网,网址https://www.luogu.com.cn/problem/P1784。此题为典型的**深度优先搜索(DFS)**题目,同时用到回溯的思想,大体思路是从第一个空格开始,不断递归搜索,一直搜索到最后一个空格即可。代码如下:#include &lt

2021-09-08 21:13:02 268

原创 算法-Boolean Expressions

题目:给出若干布尔表达式,输出其化简结果,如下图:这一题是北京大学程序设计与算法(二)暑期测验的第五题,下面逐层分析。布尔表达式可以看作若干项的“或”(优先级最低)项可以看作若干因子的“与”(优先级在“或”之上)因子有三种情况:① V或F② (表达式)③ !因子理清了这些思路后,写出代码便不那么难了,代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>char s[100

2021-08-15 17:51:42 484

原创 数据结构-在二叉树中查找给定的结点并输出到该结点的路径

编写函数,实现在给定的二叉树中查找指定的结点(一定找得到),并输出到该结点的路径上的所有结点。这是这学期数据结构期末考试编程大题的第一题,题目本身并不难,但考试时在这题上花了不少时间,写得也不是很好,时隔一个多月重新回顾这一题,理了理思路,重新写了一遍代码。思路如下,设要查找的结点为key:首先创建一个path栈,用于存储路径若树为空,则返回0(未找到)若树不为空,则将其压入path中,然后进行判断:① 若该结点为key,返回1② 否则,递归查找其左结点和右结点,若找到,则返回1;否则,pa

2021-08-01 19:42:12 2936

原创 数据结构-求二叉树第K层结点个数

描述如果按照二叉树的顺序存储结构,逐个输入二叉树的结点值,(即按从上到下、从左至右的顺序,逐个输入结点值,对于空结点使用0表示),则一棵二叉树可以被一个序列唯一表示。输入第一行为二叉树中非空结点的个数K及要查找的层数L,1<=K<=2^10,L>=1;第二行为按照顺序结构逐个输入的二叉查找树的n个结点值(包含空结点),n个结点值之间用空格隔开,1<=n<=2^10输出第一行为二叉树第L层的结点个数第二行为空行由于以前没做过这种类型题目(当然,更重要的原因是自己

2021-06-17 22:03:46 4500 4

原创 数据结构-二叉排序树的合并-NOJ26

题目:将两棵二叉排序树合并为一棵二叉排序树。这一题我的思路是,遍历第二棵二叉排序树,将元素依次插入第一棵二叉排序树中,这样虽然效率未必最高,但是思路应是非常简明,易于理解。完成代码如下:#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; struct node *lchild; struct node *rchild;} bstnode, *bstree;

2021-06-13 15:03:53 1461

原创 数据结构实验-哈夫曼编/译码器-NOJ7

写一个哈夫曼码的编/译码系统,要求能对要传输的报文进行编码和解码。构造哈夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码为 1,左子树编码为0。输入表示字符集大小为 n(n <= 100)的正整数,以及 n 个字符和 n 个权值(正整数,值越大表示该字符出现的概率越大);输入串长小于或等于 100 的目标报文。输出:经过编码后的二进制码,占一行;以及对应解码后的报文,占一行;最后输出一个回车符。题目很明确,实现哈夫曼树的各种操作。此题还是有一定难度的,完整代码如下,关键部分有注

2021-06-12 16:41:33 674

原创 数据结构-基于图的广度优先搜索策略-NOJ20

使用邻接表广度优先搜索图,判断是否存在由顶点vi到vj的路径数据结构:typedef int VertexData;//顶点数据为整型typedef struct ArcNode{ int adjvex;//该弧指向顶点的位置 struct ArcNode *nextarc;//指向下一条弧的指针} ArcNode;typedef struct VertexNode{ VertexData data;//顶点数据 ArcNode *firstarc;//指

2021-05-26 21:37:38 253

原创 数据结构实验-高精度计算PI值-NOJ2

题目:输入一个正整数n(n最多可能为500),要求输出PI,精确到小数点后n位.这一题是我学习数据结构初期碰到的一题,刚开始感觉无从下手,后来慢慢找到了思路.题目要求可能精确到小数点后500位,那么显然double类型是远远不够的,采用双向循环链表结构计算.使用的求PI公式:PI = 2*Σn!/(2n+1)!!代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>typedef stru

2021-04-07 20:54:28 904 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除