算法
算法
crazy-tiger
开弓没有回头箭
展开
-
计算机原理动态展示网站收集(不定期记得更新)
记录一些帮助学习数据结构的网站,可以动态展示。原创 2023-02-20 18:56:32 · 234 阅读 · 0 评论 -
JDK8中关于最小堆的实现(PriorityBlockingQueue)
java.util.concurrent.PriorityBlockingQueue#siftUpComparable代码很简单,记录一下。 /** * Inserts item x at position k, maintaining heap invariant by * promoting x up the tree until it is greater than or equal to * its parent, or is the root. .原创 2021-12-26 09:50:41 · 266 阅读 · 0 评论 -
TEA加密算法java版
/** * <p> * * Tea算法 * 每次操作可以处理8个字节数据 * KEY为16字节,应为包含4个int型数的int[],一个int为4个字节 * 加密解密轮数应为8的倍数,推荐加密轮数为64轮 * @author hyl * @version v1.0: Tea.java, v 0.1 2021/3/12 13:48 $ * */public class Tea { //加密 public byte[] encrypt(byte[] content转载 2021-03-12 14:00:14 · 1072 阅读 · 2 评论 -
Michael-Scott(Michael and Scott,1996)非阻塞算法中的插入算法
Michael-Scott(Michael and Scott,1996)非阻塞算法中的插入算法原创 2020-10-22 19:37:23 · 420 阅读 · 0 评论 -
使用 Treiber 算法(Treiber,1986)构造的非阻塞栈
使用 Treiber 算法(Treiber,1986)构造的非阻塞栈原创 2020-10-22 17:35:04 · 244 阅读 · 0 评论 -
二分图的最大匹配——《啊哈!算法》
二分图如果一个图的所有顶点可以被分为X和Y两个集合,并且所有边的两个顶点恰好一个属于X,另外一个属于Y,即每个集合内的顶点没有边相连,那么此图就是二分图。java代码package com.hyl.algorithm.other;import java.util.Arrays;import com.hyl.algorithm.search.base.SearchIntf;import com.hyl.algorithm.search.base.SearchIntfFactory;/原创 2020-07-02 04:11:41 · 361 阅读 · 0 评论 -
图的割点、割线问题
图的割点、割线问题,代码实现,邻接矩阵和邻接链表原创 2020-07-01 09:21:09 · 485 阅读 · 0 评论 -
树(Tree)——《啊哈!算法》
树什么是树?树是一种特殊的图,不包含回路的连通无向树。正因为树有着“不包含回路”这个特点,所以树就被赋予了很多特性。一棵树中的任意两个结点有且仅有唯一的一条路径连通。一棵树如果有n个结点,那么它一定恰好有n-1条边。在一棵树中加一条边将会构成一个回路。一棵树有且只有一个根结点。没有父结点的结点称为根结点(祖先)。没有子结点的结点称为叶结点。如果一个结点既不是根结点也不是叶结点,称为内部结点。二叉树二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子原创 2020-07-01 05:28:36 · 861 阅读 · 0 评论 -
图的最短路径算法——《啊哈!算法》
图的实现方式邻接矩阵法int[][] map;// 图的邻接矩阵存储法map = new int[5][5];map[0] = new int[] {0, 1, 2, 3, 4};map[1] = new int[] {1, 0, 2, 6, 4};map[2] = new int[] {2, 999, 0, 3, 999};map[3] = new int[] {3, 7, 999, 0, 1};map[4] = new int[] {4, 5, 999, 12, 0};邻接表原创 2020-06-26 06:32:52 · 504 阅读 · 0 评论 -
深度优先(DFS)和广度优先(BFS)——算法
深度优先深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支,当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。----《维基百科》广度优先广度优先搜索算法(Breadth First Search,缩原创 2020-06-19 20:30:27 · 3461 阅读 · 0 评论 -
火柴游戏java版
火柴游戏有24根火柴组成 A + B = C 等式总共有多少种适合方式?分析:除去"+"、"="四根,最多可用火柴根数20根。全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断原创 2020-06-03 16:42:22 · 553 阅读 · 0 评论