下面列出最常见的 14 种算法模式,它们可被用于解决常见的问题。另外还会说明如何识别每种模式,并会为每种模式提供一些问题示例。1.滑动窗口2.二指针或迭代器3.快速和慢速指针4.合并区间5.循环排序6.原地反转链表7.树的宽度优先搜索(Tree BFS)8.树的深度优先搜索(Tree DFS)9.Two Heaps10.子集11.经过修改的二叉搜索12.前 K 个元素13.K 路合并14.拓扑排序
转载
2023-07-28 15:48:04
129阅读
# 常用算法 Java 实现
## 一、整体流程
为了帮助小白开发者学习常用算法的 Java 实现,我们可以按照以下步骤进行:
| 步骤 | 描述
原创
2023-10-14 11:26:55
21阅读
1.十进制转成二进制
String s = Integer.toBinaryString(n) //将十进制数转成字符串,例如n=5 ,s = “101”
2.将整形转成十六进制的数
String s = Integer.toHexString(18); //输出结果1
3.将字符串转成整形
int a = Integer.valueof(“1002”); //当然s只能是数字类的字符串
...
原创
2023-01-09 17:04:09
57阅读
排序算法的分类如下:
1.插入排序(直接插入排序、折半插入排序、希尔排序);
2.交换排序(冒泡泡排序、快速排序);
3.选择排序(直接选择排序、堆排序);
4.归并排序;
5.基数排序。
关于排序方法的选择:
(1)若n较小(如n≤50),可采用直接插入或直接选择排序。
当记录规模较小时,直接插入排序较好;否则因为直接选
转载
2023-09-20 10:27:27
37阅读
10种常用算法代码一道,源远流长,短短几句代码中,往往蕴含着完美的逻辑和精妙的算法!这正是我们程序员追求的东西。我们程序员就应该外修语言,内修算法,数据为根基,算天算地算自己~1、二分法查找(非递归)二分查找法是查找算法里面,经典又比较简单的一种。它适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再查找。二分查找法的运行时间为对数时间O(㏒₂n),即查找到需要的目标位置最多只需要㏒₂
转载
2023-10-21 16:17:57
87阅读
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。 我整理了以前自己所写的一些排序算法结合网上的一些资料,共介绍8种常用的排序算法,希望对大家能有所帮助。八种排序算法分别是: 1.冒泡排序; 2.选择排序; 3.插入排序; 4.快速排序; 5
转载
2024-01-11 20:08:17
67阅读
查找算法对于有序的数组,常用的查找算法:二分查找。代码如下private static int find(int [] arr,int searchKey){
int lowerBound
int upperBound = arr.length
int curIn;
while(lowerBound <= upperBound){
curIn = (lowerBound +
转载
2023-08-04 20:31:18
69阅读
一、引子本文搜集从各种资源上搜集高频面试算法,慢慢填充...每个算法都亲测可运行,原理有注释。Talk is cheap,show me the code! 走你~二、常见算法2.1 判断单向链表是否有环1 package study.algorithm.interview;
2
3 /**
4 * 判断单向链表是否有环? <p>Q1:判断是否有环? isCycle <
转载
2023-09-16 13:36:59
83阅读
JDK中包含大量的类库,所谓API(Application Programming Interface, 应用程序的接口),就是一些已经写好的可直接调用的类或者接口,封装了类的功能。JDK包结构:划分形式:根据每个类的功能去划分在不同的包中。
java.lang:程序的基础类,如字符串、多线程java.util:常用工具类,如集合、随机数、日历、时钟。
java.io :文件操作,输入、输出
转载
2023-08-17 09:12:43
53阅读
Java 常用算法手册 内容简介:现代的设计任务大多通过计算机编程来完成,而算法起到了至关重要的作用。可以毫不夸张地说,算法是一切程序设计的灵魂和基础。选择合理的算法,可以起到事半功倍的效果。本书分三篇,共14章,分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏、密码学等领域中的应用
转载
2023-08-14 14:23:14
45阅读
兔子问题(斐波那契数列规律)台阶问题 (兔子问题变种,递归规律)素数问题(判断素数、质数方式)水仙花数问题(数字分解)查找算法(二分查找)排序算法(选择排序,冒泡排序,快速排序)兔子问题,重点是找到规律。斐波那契数列 1、1、2、3、5、8、13、21、34、55规律为:F(n)=F(n-1)+F(n-2)(n>2,n∈N*)public static voidmain(Strin
转载
2023-07-18 21:00:50
42阅读
在各类算法中,排序算法是最基本的内容。在这里主要分享一个冒泡排序,选择排序,插入排序,希尔排序,快速排序和堆排序以及合并排序。 1、冒泡排序 这里是最基础的了,不用多说。 public static void bubbleSort(int[] a){ int temp; for(int i...
原创
2022-01-05 10:05:42
125阅读
说明:java常用算法示例
step1:
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
/*
* 有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?
* */
public class One {
publ
原创
精选
2024-10-25 17:44:10
171阅读
# Java常用签名算法
在Java编程中,签名算法是常用的一种加密技术,用于对数据进行签名或验证签名的过程。常见的签名算法包括MD5、SHA-1、SHA-256等。本文将介绍这些常用的签名算法,并提供代码示例来演示如何在Java中使用它们。
## 签名算法简介
### MD5
MD5全称是Message Digest Algorithm 5,是一种广泛使用的哈希算法,用于生成128位散列
原创
2024-02-24 07:17:21
193阅读
Java GC(Garbage Collection)是Java语言中的一种自动内存管理机制,用于在程序运行过程中自动回收无用的对象,释放内存空间,提高程序的性能和效率。Java GC常用算法主要包括标记-清除算法、复制算法、标记-整理算法和分代算法。
1. 标记-清除算法(Mark-Sweep Algorithm):这是最基本的垃圾回收算法。它分为两个阶段:标记阶段和清除阶段。在标记阶段,GC
原创
2023-12-22 09:51:49
25阅读
数据结构有必要复习下了
以下是我写的一些算法的实现,请多指教:
import java.util.Arrays;
public class 常用算法实现 {
/**
* 数据交换的方法
* @param v
&nbs
转载
精选
2012-08-25 20:45:19
470阅读
C语言进阶第一弹:滤波算法 学习永无止境C语言进阶第一弹:滤波算法前言一、学前必看二、正文1.加权平均递推法2.递推平均滤波法3:一阶低通滤波4:其他滤波算法 前言 如果有对下面的教程有疑惑的同学,欢迎评论区提问。温馨提示:以下内容为作者原创,全部免费,支持转载,但不得作商业用途一、学前必看 所谓滤波,本质上是对数据的处理,我们在编写程序的时
转载
2024-09-05 07:05:23
30阅读
说明:java常用算法示例。
原创
2024-10-31 22:17:37
74阅读
一、hashlib模板Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。摘要算法之所以能指出数据是否被篡改过,
转载
2024-10-27 09:55:05
18阅读
面试中经常会被问到或现场写:冒泡、快速(1)冒泡排序 Bubble Sort [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 /** - 冒泡排序 - @param arr 需要排序的数组 */ publi
转载
2020-03-26 08:45:00
75阅读
2评论