常用算法
文章平均质量分 63
常用算法集合 排序算法 数据结构等
QuantumYou
ALWAYS CONTINUE,NEVER BREAK.
展开
-
C++ 关于输入输出效率问题、头文件
ICPC/CCPC 冲 !关于输入输出效率问题 ios::sync_with_stdio(0); cin.tie(0), cout.tie(0);经代码经验发现,部分代码在提交时(编写代码思路相同),使用 printf(), scanf() , 可以AC , 而使用 cin cout Time Limit知识点一:std::ios::sync_with_stdio(false);cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而.原创 2021-10-02 19:23:27 · 381 阅读 · 0 评论 -
算法初阶
算法时间测试程序 long start = System.nanoTime() ; System.out.println("耗时"+(System.nanoTime() - start )) ;注意 : 由查阅 JDK 1.8System.nanoTime(),以纳秒为单位返回正在运行的Java虚拟机的高分辨率时间源的当前值。Eclipse 常用快捷快捷键菜鸟教程 参考链接ctrl + / 注释ctrl + 1 快速恢复ctrl + d 删除整行创建类自动生成主函数原创 2021-03-10 08:31:11 · 196 阅读 · 0 评论 -
算法准备知识
文章目录启航工具Eclipse 常用快捷快捷键创建类自动生成主函数自动生成方法注释缩写输出遍历ArrayListMapEclipse Debug ★★★启航工具Eclipse 常用快捷快捷键菜鸟教程 参考链接ctrl + / 注释ctrl + 1 快速恢复ctrl + d 删除整行crrl + shift + f 格式化整个文档创建类自动生成主函数自动生成方法注释/*** @param str* @return* @throws ParseExcepti原创 2021-03-07 14:14:03 · 167 阅读 · 3 评论 -
数据结构课程设计 图的基本操作的Java实现
一研为定,万山无阻 !文章目录题面代码构造函数方法API执行单元结果方法API 内含 BFS DFS 算法题面博主的图的操作是基于邻接表进行存储当然还可以通过邻接矩阵进行存储代码构造函数package AdjacencyList;import java.util.LinkedList;public class EdgeNode { //该结点所连接的其他结点 private LinkedList<EdgeNode> edgeNodeL.原创 2021-05-27 11:03:42 · 503 阅读 · 1 评论 -
二分查找 || 数的范围
文章目录题目题解代码题目跳转链接题解这道题关于二分查找的应用Tips:二分查找可以分为 递归法与非递归方法1、二分查找一个大于等于X的最小值2、二分查找一个小于等于x的最大值。这里推荐一篇大佬的讲解参考链接代码package Algorithm;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.Input原创 2021-04-16 13:48:15 · 269 阅读 · 2 评论 -
Java 实现 n 阶行列式的求解
文章目录题目题解代码题目跳转链接题解这位大佬题解写的非常不错 ,其他栏的蓝桥杯资料也不错 ! ????参考链接运用递归思路求其余子式这里运用 余子式 的拉普拉斯展开 求解行列式 ????代码package BaseFunction;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamRe原创 2021-04-15 18:50:53 · 511 阅读 · 1 评论 -
贪心算法——常见试题集 (精华)
定义贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。(但是不一定是正确解,但是会无限逼近)集合覆盖问题假设存在如下表的需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少 的广播台,让所有的地区都可以接收到信号核心思路遍历所有的广播电台, 找到一个覆盖了最多未覆盖的地区的电台(此电台可能包含一些已覆盖的地区,但没有关系)将这个电台加入到一个集合中(比如ArrayList), 想办法把该电台覆盖的地区在下次比较时去掉。重复第1原创 2021-04-13 19:16:04 · 1115 阅读 · 1 评论 -
动态规划——背包问题
文章目录引入案例背包问题核心思路图解代码推荐引入案例背包问题背包问题 可以分为 01 背包与完全背包下面介绍01 背包有一个背包,容量为4磅 , 现有如下物品要求达到的目标为装入的背包的总价值最大,并且重量不超出要求装入的物品不能重复核心思路参数说明 :v[i]、w[i]分别为第i个物品的价值和重量,C为背包的容量。v[i][j]表示在前i个物品中能够装入容量为j的背包中的最大价值(就是横纵坐标交错值)实施步骤 :v[i][0]=v[0][j]=0 表示 填入表 第原创 2021-04-12 16:02:15 · 302 阅读 · 1 评论 -
Java 排列组合 应用与实现 (精华)
文章目录排列场景一 (拿球可放回)场景二(拿球不可放回)场景三 (一次性取球)全排列题目---20蓝桥杯模拟赛解法一解法二鸣谢排列场景一 (拿球可放回)假设袋子里有编号为1,2,…,m这m个球。现在每次从袋子中取一个球记下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。分析: 每一次取都有m种可能的情况,因此一共有种情况。这里我们取m = 3, n = 4,则有 343^{4}34 种不同的情况。以下代码非常巧妙(通俗易懂)package BaseFunction;原创 2021-04-09 23:39:04 · 384 阅读 · 1 评论 -
通俗易懂 || n 对括号可以有多少种匹配排列方式
文章目录题目解题思路解法一解法二题目【(本科组)第十一届蓝桥杯省模拟赛】由1对括号,可以组成一种合法括号序列:()。由2对括号,可以组成两种合法括号序列:()()、(())。由4对括号组成的合法括号序列一共有多少种?解题思路首先这是一道典型的括号匹配问题解法一关于括号匹配问题 —> 可以运用 卡特兰数(入栈顺序解法之一)递推公式 h(n)=C(2n,n)/(n+1) (n=0,1,2,...)解法二运用 递归右括号的数量不能超过左括号函数的两个参数分别为原创 2021-04-09 14:19:19 · 2088 阅读 · 4 评论 -
Java实现 最大公约数与最小公倍数(挑战最短代码)
文章目录概念Java 代码概念Java 代码挑战最短代码 ????实现思路: 辗转相除法 (递归实现)package lzhTest;import java.util.Scanner;public class GCD { //最小公倍数=两数乘积/最大公约数 public static void main(String [] args) { Scanner sc = new Scanner(System.in) int a = sc.nextInt() ; int原创 2021-04-08 19:58:46 · 232 阅读 · 1 评论 -
Java 实现 DFS BFS 算法集 (精华)
介绍参考链接BFS (广度优先算法)树为一种特殊的图 ---------> 树的广度优先算法(层序遍历)层序遍历 (实现原理) —> 借助队列实现原创 2021-04-08 11:43:14 · 667 阅读 · 5 评论 -
Java 简单矩阵乘法
Java 代码package BaseFunction;public class JuzhenChengFa { public static void main(String[] args) { //矩阵 --> 行列式 double [][]array01 = { {1, 2, 3}, {4, 5, 6} }; doubl原创 2021-03-26 22:00:57 · 186 阅读 · 1 评论 -
求素数/质数 简单Java算法
基本定义质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。与此相对应的是 合数注意1 和 0 既不是 质数也不是合数质数表Java 代码输出 100 以内 的素数(质数)package lzhTest;public class su_shu { public static void main(String[] args) { for (int i = 2; i <= 100 ; i++) {原创 2021-03-25 16:57:56 · 379 阅读 · 1 评论 -
算法 基本API 集合
基本API 调用Arrays.sortArrays.sort(arr); 排序toUpperCase()将小写字母转换为 大写字母 Scanner sc = new Scanner (System.in) ; String a = sc.next() ; System.out.println(a.toUpperCase());将数字转换为字符串(互逆)将数字转换为 字符串 (错误)String s = String.valueOf(a)将原创 2021-03-12 13:27:00 · 230 阅读 · 1 评论 -
Java 版 数据结构 (线性表一)
文章目录线性表线性表线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列前驱元素:若A元素在B元素的前面,则称A为B的前驱元素后继元素:若B元素在A元素的后面,则称B为A的后继元素...原创 2021-03-20 18:51:16 · 174 阅读 · 4 评论 -
Java 排序算法 (希尔、归并、快速排序)
文章目录希尔排序需求来源增量h的定义算法图解Java 代码希尔与插入排序比较归并排序排序原理算法图解希尔排序定义: 希尔排序是插入排序的一种,又称缩小增量排序,是插入排序算法的一种更高效的改进版需求来源插入排序不足,已排序的分组元素为{2,5,7,9,10},未排序的分组元素为{1,8},那么下一个待插入元素为1,我们需要拿着1从后往前,依次和10,9,7,5,2进行交换位置,才能完成真正的插入,每次交换只能和相邻的元素交换位置。那如果我们要提高效率,直观的想法就是一次交换,能把1放到更前面的位原创 2021-03-16 20:26:56 · 272 阅读 · 1 评论 -
Java 排序算法(冒泡、选择、插入排序 )
冒泡排序排序原理1、比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置2、对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后元素就是最大排序图解解法API 设计package Sort;import java.util.Arrays;/** * @author LZH.create * Date : 2021.3.11 * API 设计思想实现 与传统实现(方式二) * */public class BubbleS原创 2021-03-14 15:53:01 · 719 阅读 · 7 评论