自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java sort方法详解

详解JDK中的sort函数

2022-12-16 13:18:29 9230 3

原创 【码蹄集】四柱河内塔

河内塔问题:有三个柱子,编号为1,2,3;在编号为1的柱子上有n个大小不同圆盘,圆盘从小到大,从上到下堆叠,你只可以移动—个柱子上最上面的圆盘。现在你需要将编号为1的柱子上的圆盘移到3柱子上,顺序不变。注意:你在移动过程中,不可以将大的圆盘放在小圆盘上,你一次只可以移动一个盘子;现在有一个4个柱子的河内塔,在规则不变的情况下,问最少需要移动多少次才能把盘子从1号柱子移到4号柱子上。...

2022-07-02 20:39:03 571

原创 【码蹄集】 矩阵的对角线

矩阵的对角线

2022-07-02 20:29:30 385

原创 码蹄集 迷宫2

迷宫中有N堵圆形的墙。两个人被困在迷宫的不同位置。求他们如果要相见,至少要穿过多少堵墙。保证任意两个圆不相交,不重合,也不会相切,但有可能相互包含。人的位置和墙不重合。

2022-07-02 20:23:35 324

原创 码蹄集 直线

如果用数学的观点来简化这个世界,将人生看做一条直线,那么世界上的一些人注定和我们平行或者异面。由这种人生哲理,我们可以考虑一下瓜大的同学—共可能有多少种交点数量。现在我们只考虑平面上的情况。平面上有n条直线,且无三线共点,那么这些直线能有多少不同的交点数?输入: 一个整数n,表示n条直线(n ...

2022-07-02 20:04:33 133

原创 数据结构实验设计

完整代码#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;typedef long long LL;const int N = 50, P = 131;LL ha[N]; //ha[i]表示下标i的字符串的哈希值int p[N]; //用于搜索结点是否联通char place[N][2...

2021-12-24 22:43:00 491

原创 任务调度的合理性【拓扑排序】

拓扑排序:拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。 且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点A 到顶点B 的路径,那么在序列中顶点A 出现在顶点B 的前面拓扑排序适用于求工程的合理性。拓扑排序的思路:将所有入度为0的点入栈。依次遍历输出栈中的点,并经其所在的边都删除,更新其他点的入度。再 将所有入度为0的点入栈(重复以上过程)下面以一道经典例题为例:

2021-11-16 23:50:26 234

原创 旅游规划pta(无向图求顶点间最短路径)

关于求图的顶点间最短路径问题,基本分为两种算法:Dijkstra算法Floyd算法Dijkstra算法是用来求图中某个源点到其他顶点的最短路径的,而Floyd是用来求图中任意两个顶点间的最短路径。原理上Floyd可以对Dijkstra算法遍历以便所有顶点得到,但是Flody的写法更简单一点。下面以一道经典例题为例题目来源:PTA旅游规划有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。

2021-11-16 23:31:30 1286

原创 树的遍历【PTA】

关于树的遍历树的遍历分为先序、中序、后序以及层序等等。以下题目来自PTA老师布置的题目。题目给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出

2021-11-02 18:57:40 1363 2

原创 使用JavaScript实现GPA计算器(学科实践任务 一)

学科实践任务(一):GPA计算器<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>使用js实现GPA计算</title> <style> #GPAForm{ text-align: center; } .title{ text-align: center; color: #FF0000; } table

2021-10-23 16:03:15 474

原创 求解迷宫从入口到出口的路径【算法】【栈】【深度优先搜索】

题目:求解迷宫从入口至出口的路径创建一个迷宫,求从入口通向出口的可行路径。为简化问题,迷宫用二维数组 int maze[10][10]来存储障碍物的分布。假设迷宫的横向和纵向尺寸的大小是一样的,并由程序运行读入, 若读入迷宫大小的值是n(3<n<=10),则该迷宫横向或纵向尺寸都是n,规定迷宫最外面的一圈是障碍物,迷宫的入口是maze[1][1],出口是maze[n-2][n-2], 若maze[i][j] = 1代表该位置是障碍物,若maze[i][j] = 0代表该位置是可以行走的空位

2021-10-05 22:57:50 4885 1

原创 约瑟夫环【数组模拟环形链表】

题目N个人围成一圈顺序编号,从1号开始按1、2、3…顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数,报p的人再退出圈外,以此类推。 请按退出顺序输出每个退出人的原序号。输入格式输入只有一行,包括一个整数N(1<=N<=3000)及一个整数p(1<=p<=5000)。输出格式按退出顺序输出每个退出人的原序号,数据间以一个空格分隔,但行尾无空格。测试样例输入 7 3输出 3 6 2 7 5 1 4分析这道题可以建立一个用数组模拟的环形链表,每次输出一个数后,

2021-09-23 08:53:11 159

原创 结构体位段

关于结构体位段的一些个人心得一、结构位段一个格式:1.定义在结构体内2.位段的成员名后面有个冒号和数字3.成员名的类型可以是int,char等如图struct Data{ int a : 3 ; int b : 5 ; int c : 6 ; int d : 9 ;}二、各成员间是如何分配的成员名后面冒号内的数字表示其的二进制的位数,但是其是按照补高位的规则来的,如定义结构体struct Data{ int a : 3 ; };令结构

2021-07-25 13:23:45 333

原创 创建动态链表和输出动态链表的代码模板

关于创建动态链表即输出链表的模板代码关于创建动态链表;首先我们创建一个结构体typedef struct ListNode{ int val;//定义结构体内的数据 struct ListNode * next;}ListNode;创建动态链表ListNode * creat(){ ListNode * head , * p1 , * p2; p1 = p2 = (ListNode * )malloc(LEN);//开辟动态单元 head = NUL

2021-07-21 21:06:42 383 3

原创 算法 反复删去链表中由总和值为0的连续节点组成的序列,直到不存在这样的序列为止。

题目给你一个链表的头节点 head.反复删去链表中由总和值为0的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。这题暴力方法肯定无法实现。如何实现?先给出后缀的定义比如一个链表如 1->2->3->4->NULL。则1的后缀只有12的后缀有1 和1->23的后缀有1 和 1->2 和 1->2->3即后缀包含以该节点结尾的的连续节点。后缀和就是这些数字的和先给出代码模

2021-07-20 18:33:04 350 6

原创 C++解数独(深度搜索)

本题来自本人C语言实践课程的补充题目/*测试数据(世界上最难的数独)800000000003600000070090200050007000000045700000100030001000068008500010090000400*//*思路:本体采用深度优先搜索,从棋盘的第一个位置开始搜索首先调用pos函数存储每个空位上可能填的数再从第一个空位开始,深度搜索所有的结果当成功搜完最后一个元素时,回溯这样就能完成解法*/#include<iostream>.

2021-07-07 12:47:18 1315

原创 矩阵乘方 升级版

本题来自本人上课时老师给出的一道补充题目改编自篮球杯题目 矩阵乘方/*思路 要计算这个问题,可以将A连乘b次,每次都对m求余,但这种方法特别慢,当b较大时无法使用。下面给出一种较快的算法(用A^b表示A的b次方)  若b=0,则A^b%m=I%m。其中I表示单位矩阵。  若b为偶数,则A^b%m=(A^(b/2)%m)^2%m,即先把A乘b/2次方对m求余,然后再平方后对m求余。  若b为奇数,则A^b%m=(A^(b-1)%m)*a%m,即先求A乘b-1次方对m求余,然后再乘A..

2021-07-05 12:08:14 251

空空如也

空空如也

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

TA关注的人

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