Java算法总结
文章平均质量分 66
Leetcode算法分类题解
魈魈不知道哦_
软工在读
展开
-
常用排序:快速排序 与 归并排序
常用排序:快速排序 与 归并排序原创 2022-08-08 16:40:14 · 158 阅读 · 1 评论 -
【Java算法之dfs 与bfs详解】
Java算法之dfs 与bfs1. dfs1.1 递归1.2 非递归2. bfs2.1 常见两类问题1. dfs深度优先遍历(Depth First Search, 简称 DFS)深度优先遍历各个节点,需要使用到栈(Stack)这种数据结构。Stack的特点是是先进后出,首先将右节点压入栈中,在将左节点压入栈中,这样出栈顺序就是先左节点再右节点。DFS是图论里面的一种搜索算法,他可以由一个根节点出发,遍历所有的子节点,进而把图中所有的可以构成树的集合都搜索一遍,达到全局搜索的目的。所以很多问题都可以原创 2022-04-08 23:52:37 · 12046 阅读 · 4 评论 -
【Java算法之二分查找】
Java算法之二分查找简单讲一下二分查找的工作原理:图片来自《算法题解》一书;举个例子:我随便想一个1~100的数字。你的目标是以最少的次数猜到这个数字;你每次猜完,我都会说大了、小了或对了。假设你从1开始猜,过程会是这样。这是简单查找,就是傻找,每次猜测只能排除一个数字,若我想的数是n,你得猜n次。下面是更佳的猜法即二分查找:从50开始小了,但排除了一半数字;至此,你知道1~50都小了。因此,下一步你猜75。大了,那余下的数字又排除了一半;使用二分查找时,你猜测的是中间的数,从而每次都原创 2022-04-03 16:38:26 · 1064 阅读 · 1 评论 -
【Java算法之冒泡排序法】
Java算法之冒泡排序法比较相邻的两个元素,将大的数换到后面去。若第一个数比第二个数大,就交换他们两个。对每一对相邻元素作相同操作,从开始第一对到结尾的最后一对。然后,最后的元素就是最大的数。对所有的元素将以上的步骤重复length-1次。第一次是对n个数进行n-1次比较,比较length-1-1次,进行到最后第n个的一个是最大的;第二次是对n-1个数进行n-2次比较,比较length-1-2次,进行到最后第n-1个的一个是最大的;…重复length-1次后,排序完成。冒泡排序法动态图例原创 2022-04-01 16:27:37 · 891 阅读 · 1 评论