E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JAVA算法学习
java算法学习
索引之数组矩阵问题
一将正方形矩阵顺时针转动90°给定一个N×N的矩阵matrix,把这个矩阵调整成顺时针转动90°后的形式。顺时针转动90°后为:【要求】额外空间复杂度为O(1)。publicvoidrotate(int[][]matrix){inttR=0;//左上角行坐标inttC=0;//左上角列坐标intdR=matrix.length-1;//右下角行坐标intdC=matrix[0].length-1;
小裕哥略帅
·
2023-11-23 13:03
算法
学习
矩阵
Java数据结构与
Java算法学习
Day03---线性表(简略笔记记录)
目录一、线性表38二、顺序表39三、链表453.1单向链表46、47、483.2双向链表493.3链表反转(面试中高频题目)563.4快慢指针573.4.1中间值问题573.4.2单向链表是否有环问题583.4.3有环链表入口问题603.5循环链表613.6约瑟夫问题623.7栈概念653.7.1栈的了解653.7.2栈的代码实现663.7.3括号匹配问题(栈的应用)683.7.4逆波兰表达式求值
小西程序员之路
·
2023-11-08 02:19
数据结构与算法
数据结构
学习
链表
java
算法
Java数据结构与
Java算法学习
Day11---有向图、拓扑排序、加权无向图、最小生成图、加权有向图、最短路径(简略笔记记录)
目录一、有向图1571.1有向图的定义及相关术语1571.2有向图的实现158二、拓扑排序1592.1检测有向图中的环1602.1.1检测有向图中环API设计1602.1.2检测有向环实现1612.2基于深度优先顶点排序1622.2.1顶点排序API设计2.2.2顶点排序实现的原理过程2.2.3顶点排序代码的实现及测试162、163、164三、加权无向图1653.1加权无向图边的表示---加权的边
小西程序员之路
·
2022-12-09 09:19
数据结构与算法
数据结构
jvm
贪心算法
排序算法
算法
Java数据结构与
Java算法学习
Day09---并查集(简略笔记记录)
目录并查集的功能:1.1并查集结构1361.2并查集API设计1371.3并查集代码的实现1371.3.1UF(intN)构造方法实现1.3.2并查集代码测试1381.4并查集应用案例1391.5UF_Tree算法优化1391.5.1UF_treeAPI设计1.5.2优化后的性能分析1401.6路径压缩1411.7合并集---畅通工程(未看,后期需要再查看)141并查集的功能:1、查询元素p和元素
小西程序员之路
·
2022-12-09 09:48
数据结构与算法
算法
数据结构
合并集
java
面试
Java数据结构与
Java算法学习
Day10---图的了解和无向图(简略笔记记录)
目录1.1图的定义及分类1421.2无向图1431.2.1图的相关术语1431.2.2无向图的存储结构1441.3图的API设计1451.4图的搜索1461.4.1深度优先搜索1461.4.2深度优先搜索API设计1471.5广度优先搜素1491.5.1广度优先搜索API设计及代码实现1501.5.2广度优先搜索测试实现1511.6案例---畅通工程实现(是前面合并集的提升)1521.7路径查找1
小西程序员之路
·
2022-12-09 09:48
数据结构与算法
学习
数据结构
算法
图搜索算法
java
Java数据结构与
Java算法学习
Day05---二叉树(简略笔记记录)
目录一、二叉树791.1树的基本定义791.2数的相关术语801.3二叉树的基本定义811.4二叉查找树的创建821.4.1二叉树查找树创建---插入方法(put)831.4.2二叉树查找树创建---获取方法(get)841.4.3二叉树查找树创建---删除方法(delete)851.4.4代码的测试861.5二叉查找树其他便捷方法871.5.1查找二叉树中最小的键871.5.2查找二叉树中最大的
小西程序员之路
·
2022-12-09 09:48
数据结构与算法
数据结构
学习
面试
Java数据结构与
Java算法学习
Day08---关于树的深度学习(简略笔记记录)
目录一、平衡树1191.12-3查找树1191.1.12-结点和3-结点的含义1191.1.2查找1201.22-3查找树的插入1211.2.1向2-结点中插入新建1211.2.2向一棵树只含有一个3-结点的树中插入新建1211.2.3向一个父结点为2-结点的3-结点中插入新建1211.2.4向一个父结点为3-结点的3-结点中插入新建1211.2.5分解根结点1211.32-3树的性质1221.4
小西程序员之路
·
2022-12-09 09:31
数据结构与算法
数据结构
b树
b+树
java
算法
Java算法学习
笔记之冒泡排序
—、最基础的排序——冒泡排序冒泡排序是许多人最早接触的排序算法,由于逻辑简单,所以大量的出现在计算机基础课本上,作为一种最基本的排序算法被大家所熟知。设无序数组a[]长度为N,以由小到大排序为例。冒泡的原理是这样的:1.比较相邻的前两个数据,如果前面的数据a[0]大于后面的数据a[1](为了稳定性,等于不交换),就将前面两个数据进行交换。在将计数器i++;2.当遍历完N个数据一遍后,最大的数据就会
FlowerHeart
·
2021-06-27 20:08
Java算法学习
:求取一个集合中的所有子集
求取一个集合中的所有子集package算法学习;importjava.util.HashSet;importjava.util.Set;/***PageDescription:*User:Yelihu*Date:2019-03-02*Time:下午3:02*Function:*/publicclass增量迭代{privatestaticint[]array={1,2,0,4};privatesta
Xenoverse
·
2020-09-12 05:09
数据结构与算法
Java
Java算法学习
:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习
:蓝桥杯——地宫寻宝(DFS✖记忆型递归)题目:标题:地宫取宝X国王有一个地宫宝库。是nxm个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。
Xenoverse
·
2020-09-11 00:50
数据结构与算法
Java
java算法学习
笔记--穷举算法/递推算法思想
1穷举法的适用范围穷举法算法效率并不高,但是适合一些没有明显规律可循的场合。2穷举法执行步骤对于一种可能的情况,计算其结果;判断结果是否正确,不满足则执行第一步。3例子-鸡兔同笼问题:今有鸡兔同笼,上有35头,下有94足,问鸡兔各几何。java代码intqiongjie(inthead,intfoot){inti,j;for(i=0;i4递推算法适合范围在数学计算等场合有着广泛的应用,适合有明显公
Qing_zhi_hwl
·
2020-08-22 00:40
学习笔记
java
算法
Java算法学习
之回溯算法(一)
力扣第77号问题给定两个整数n和k,返回1...n中所有可能的k个数的组合。示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]回溯法:是一种通过遍历所有可能成员来寻找全部可行解的算法。若候选不是可行解(或者至少不是最后一个解),回溯法会在前一步进行一些修改以舍弃该候选,换而言之,回溯并再次尝试。classSolution{publicLis
在这之间
·
2020-08-21 18:01
Java成长之路
java算法学习
1、无重复字符的最长子串输入:"abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。publicclassSolution{publicintlengthOfLongestSubstring(Strings){intn=s.length();intres=0;intend=0,start=0;Setset=newHashSetstringStack=newStac
重播
·
2020-08-18 10:30
java算法学习
10-
java算法学习
之五(二分查找)
半窗疏影,一梦千年,琴歌萧萧笛声怜二分查找有一个必须条件,就是数组是有顺序的,可以从小到大,也可以从大到小。二分查找虽然有时候查找效率比不上其他查找算法,但是总体上看来,二分查找还是一种比较简单而且效率比较高的查找算法。-LeetCode中一个二分查找为例。用二分查找实现代码如下:classSolution{publicintsearch(int[]nums,inttarget){if((nums
沙雕码农
·
2020-08-15 04:06
java算法学习
算法
leetcode
数据结构
二分法
Java算法学习
——快速幂
快速幂快速幂:顾名思义就是快速的求一个数的n次幂。例如:an,直接的算法就是累乘,这样的计算方法时间复杂度为O(n)。而快速幂可以降低时间复杂度至O(log(n))。那么快速幂是如何降低时间复杂度的呢?接下来我举个例子,如果我们要求an,实数n满足2K,那么an可以表示为((a2)2)2…的形式,而普通算法则为a*a*a…的形式。因此快速幂只要进行K次平方运算就可以得到最终结果。时间复杂度计算为:
Sid与不二
·
2020-08-09 15:33
JAVA算法
C++、C#、
java算法学习
日记02----选择排序(SelectSort)
直接选择排序属于排序算法的一种,他的排序速度要比冒泡排序快一些,算是对冒泡排序的一种改进。基本思想:直接排序的思想类似于我们实际生活中的排序行为,比如:对一串数字63,4,24,1,3,15从小到大排序,我们会首先找到最大的值与最后一位交换位置,然后再从余下的数中找到最大的值与倒数第二位交换位置,这样每次都从余下的数中找到最大的放到末尾,当余下一个数时排序完成C++实例:#includeusing
HC666
·
2020-08-01 10:51
C++
C#
java算法学习
C#学习
java算法学习
笔记--线性表篇
1----算法和程序设计的关系算法是一切程序设计的灵魂和基础,选择合理的算法,可以起到事半功倍的效果。2----应用程序可以分为哪几部分?可以分为编程语言,数据结构,算法三大部分。3----什么是算法算法是对某一具体的问题的一种套路。4----算法的五种特征A有穷性:指的是执行步骤是有限的,执行时间也是有限的。B确切性:每一个步骤都必须有明确的说明,不能模糊。C输入:执行操作步骤前的条件。D输出:
Qing_zhi_hwl
·
2020-07-29 16:11
java
算法
学习笔记
java算法
java核心技术之冒泡排序算法
先从最简单的冒泡排序算法开始这次
java算法学习
吧。1冒泡排序算法(B
hfreeman2008
·
2020-06-23 14:41
Java核心技术
java核心技术
Java算法学习
——排序算法(简单选择排序,堆排序)
接上一篇文章我们依旧把各排序算法的比较图放出来:1.简单选择排序(SelectionSort):简单选择排序,最稳定的排序算法之一,无论什么数据进去时间复杂度都是O(n2)。由于时间复杂度较高,所以适用于小规模的数据。它的好处就在于不占用额外的内存空间。简单选择排序是一种简单直观的排序算法。它的工作原理是:先在未排序的序列中找到最大(小)元素,存放到排序序列的起始位置。然后再从剩余未排序的的序列中
Sid与不二
·
2019-07-24 19:24
JAVA算法
java算法
简单选择排序
堆排序
Java算法学习
:使用回溯求一个数组的全排列(递归求解)
全排列,简单的来说就是n个数字中,列出n!(n的阶乘)个排列组合,比如:123的全排列有123、132、213、231、312、321这种概念在修完高中要求的概率论之后,就应该会有。那么使用Java语言实现这种全排列,比如求一个数组1,2,3的全排列,这种应该如何实现呢,这几天在学习dfs的时候,遇到了一类题型,利用的就是全排列的思想,把所有可能的结果都列出来。下面我来讨论一个全排列的递归解决办法
Xenoverse
·
2019-03-15 16:36
数据结构与算法
Java
Java算法学习
:java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制)
java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制)这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁想起了java中实现栈的操作十分方便(不用自己写.h文件,内部util.Stack包已经封装好)所以用这个来写一个进制转换作为记录十进制怎么转化为二进制呢?publicvoidDex2Bin(intn){intx;Stackstack=
Xenoverse
·
2018-12-19 10:41
数据结构与算法
Java
java算法学习
记录之插入排序法
前面我记录了冒泡、选择排序法,其实在大数据量的排序面前,插入排序比前两则都要优秀,算法思路稍微复杂一点点而已。importjava.util.Random;//插入排序,此方法的原理是从数组的第二个元素开始标记依次与前面的每个元素相对,找到第一个比自己的小的数,然后插入进过//当然在找到之前这个大于当前标记的数都依次往后移一个publicclassInsertSort{publicstaticvo
当地球灭亡时我们都一样
·
2018-10-11 15:00
插入排序
java算法学习
记录之冒泡排序法
从这篇文章开始我将依次记录我学习数据结构并用java来实现相关算法的源代码,算是对自己学习的一个记录,也希望对其他初学者有帮助,大家一起进步!同时我保证我写的代码是自己在idea里手写并测试通过。此篇文章我记录最简单也是最常用的冒泡排序法,后面再记录其它排序方法。importjava.util.Random;//冒泡排序publicclassMaopaoSort{publicstaticvoidm
当地球灭亡时我们都一样
·
2018-10-11 10:44
java算法学习
笔记--递归算法/分而治之思想
1递归算法思想本质在程序中不断反复的调用自身来达到求解问题。2递归算法分类直接递归:在方法中调用方法本身;间接调用:间接的调用一个方法。3例子--递归算法有阶乘就是1到N的所有自然数相乘的结果,n的阶乘为n!=n*(n-1)*(n-2).....*2*1;对于(n-1)则有如下表达式(n-1)!=(n-1)*(n-2)*...*2*1;可以推出N!=n*(n-1)!java代码表示longfact
Qing_zhi_hwl
·
2017-07-18 12:26
学习笔记
java
算法
java算法
java算法学习
最大公约数 欧几里得算法 描述:计算两个非负整数p和q的最大公约数: 若q是0,则最大公约数为p。 否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。 根据算法的自然描述,我们可以很轻松地得到以下的递归实现: 1 public static int euclid(int p, int q) { 2 3 if (q == 0)
·
2015-11-13 01:22
java算法
java算法系列之(一)冒泡排序算法
先从最简单的冒泡排序算法开始这次
java算法学习
吧。1冒泡排序算法(B
hfreeman2008
·
2015-05-10 20:00
java
冒泡排序
Java算法学习
package com.tang.flight.util; public class AlgSelectSort { /** * 算法 selectSort * 作 者: tangxin * 日 期: 2013-1-29-上午09:50:25 * @param a[0,n-1] * 返回类型: void 按照非降序排列的数组a[0,n-1]
tangxininjava
·
2013-01-29 10:00
java算法
Java算法学习
(栈操作实例)
完整代码如下:packagecom.xu.main; importjava.util.Scanner; publicclassP4_1{ /** *@功能:栈结构操作 *@作者: *@日期:2012-10-16 */ publicstaticvoidmain(String[]args){ StackTypest=newStackType(); DATAdata=newDATA(); St
xuxian361
·
2012-10-20 14:00
java
算法
String
null
Class
input
Java算法学习
(查找数字)
查找数字随机生成20个整数,输入要查找的数据;逐个对比的查找,当数据相等时找到数据,并输出数据的位置。代码如下:packagecom.xu.main;importjava.util.Random;importjava.util.Scanner;publicclassP1_1{/***@功能:查找数字*@作者:*@日期:2012-10-14*/staticintN=20;publicstaticvo
xuxian361
·
2012-10-15 15:00
java
算法
String
Random
Class
ini
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他