java算法
文章平均质量分 70
里面包含了各种算法的经典例题及其解法,还有本人的感悟
品 风 ₯ 未 醉
东莞理工学院
时间流逝,我能留下什么?或许也只有我学习路上的一些点滴,以前有些扫帚自珍了,以后决定更加注重知识的总结
展开
-
使用堆栈进行解题
堆栈相关的例题原创 2022-05-28 22:21:53 · 72 阅读 · 0 评论 -
快速幂算法
快速幂算法原创 2022-04-24 22:43:24 · 280 阅读 · 0 评论 -
数学思维题(持续更新)
数学思维题原创 2022-04-06 11:50:18 · 255 阅读 · 0 评论 -
Java API运用题
从csdn上找的算法题+个人解题思路,完全用于个人学习,勿喷,感谢原创 2022-03-25 15:58:52 · 767 阅读 · 0 评论 -
哈希表(持续更新)
哈希表原创 2022-03-17 23:23:44 · 196 阅读 · 0 评论 -
模拟算法(持续更新)
模拟算法例题原创 2022-02-26 14:06:57 · 213 阅读 · 0 评论 -
二叉搜索树的理解(持续更新)
二叉搜索树的定义:何为二叉搜索树满足根节点的值大于其左孩子节点的值,根节点的值又小于其右孩子节点的值其他的就没什么好说的了,下面会不断更新二叉搜索树的相关题目:**例题一:**给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。(力扣:面试题 04.02. 最小高度树)//利用递归生成二叉搜索树:基本思路就是不断将数组分成左右两边然后左边和右边的数组分别递归 //这题我不会纯粹是看了题解才做出来的,我甚至没有一点点思路class Solution {原创 2021-09-10 14:32:00 · 68 阅读 · 0 评论 -
持续理解递归(持续更新):
写这篇博文的目的:用来记录我写递归函数时出现的一些困惑:如何理解递归:以前我也曾经写过有关递归的理解,不过现在回头看,发现写的很肤浅,甚至没有理解递归的本质,那么如何理解递归?1.明白递归的底层原理:其实递归的原理类似与栈结构,如果想要真正理解建议先去了解一下栈2.理解递归的层次关系,其实这里多少和前面第一点有点重复的意思,但很重要所以我还是单独作为一点3.理解前面两点后其实就大致理解递归了,但想要真正掌握递归,你还应知道每层递归时函数需要实现什么功能,从而写出你想要的递归函数4.理解每层递归原创 2021-09-04 15:50:08 · 143 阅读 · 0 评论 -
有意思的暴力解法专题(持续更新)
循环解题专辑原创 2021-10-21 23:27:13 · 257 阅读 · 0 评论 -
分治算法(持续更新):
分治算法的核心思想:将大问题分解为小问题,递归的将小问题解决后再将结果合并;其实知道这些就够了,掌握这种思想关键还得多刷题:例题如下:例题1:给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。(力扣:105)//现在看来递归对于一种高级算法,它更像是一种工具,这道题使用分治思想,将大问题通过递归不断化解成小问题解决class Solution { Map <Integer,Integer> map=new HashMap<原创 2021-09-14 18:49:45 · 140 阅读 · 0 评论 -
拓扑排序(持续更新)
拓扑排序算法: 拓扑排序就是找到一个入度为0的带你加入队列后,在图中去掉该点及其与它相连的边,然后再词寻找入度为零的点直到所有的点都被遍历,由上面的过程中我们不难想到,如果图中存在环这种结构那么我们是无法遍历所有的节点的,所以拓扑排序的一个重大的应用就是可以找出不存在与环中的点例题1 在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走。如果到达的节点是终点(即它没有连出的有向边),则停止。对于一个起始节点,如果从该节点出发,无论每一步选择沿哪条有向边行走,最后必然在有限步内到原创 2021-11-29 14:13:28 · 262 阅读 · 0 评论 -
进军动态规划(持续更新):
动态规划的定义: 它的思想是将问题分解成小问题,并先解决这些小问题;理解动态规划的路线:因为这个动态规划仅靠语言我感觉很难讲清楚,我干脆吧自己的理解路线写出来你们自己去看资料,这篇博文主要更新例题:学习路线:1.先去看算法导论的动态规划篇:重点理解背包问题2.通过bilibili的视频完成理解背包问题:链接如下 https://www.bilibili.com/video/BV1K4411X7663.看《挑战程序算法竞赛》的代码:来理解动态规划的代码,并进一步理解记忆化原创 2021-09-20 16:11:20 · 152 阅读 · 0 评论 -
理解广度优先遍历(持续更新)
广度优先搜索(BFS)如何理解广度优先搜索:如果对广度优先遍历没有一点点了解的同学建议先去看看树的层次遍历,其实这就是广度优先搜索的一个应用,层次遍历的大致思路就是:将二叉树按从上往下。从左往右逐层遍历二叉树;广度优先搜索其实也是这个思路,解题时关键就是看你在这个过程中需要做些什么;如何实现广度优先搜索:我们直到其实深度优先搜索是利用了栈的这个结构,所以我i们也可以利用递归实现深度优先搜索,而广度优先搜索是利用了队列这个结构,因为本人比较喜欢使用java语言所以我实现广度优先搜索一般就使用java自带原创 2021-09-07 19:22:08 · 2694 阅读 · 0 评论 -
回溯算法(持续更新)
回溯算法经典例题原创 2021-10-21 23:34:11 · 625 阅读 · 0 评论 -
并查集(持续更新)
并查集的基本思想:将具有一定联系的节点,凑成一个集合官方解释:并查集(Union-find Data Structure)是一种树型的数据结构。它的特点是由子结点找到父亲结点,用于处理一些不交集(Disjoint Sets)的合并及查询问题。Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并成同一个集合。原创 2021-11-30 14:14:17 · 423 阅读 · 0 评论 -
二分查找(持续更新)
二分法有关例题原创 2022-02-08 20:39:32 · 58 阅读 · 0 评论 -
持续理解DFS(深度优先搜索)
博客的目的:博主最近在刷有关树的一些题目,遇到了很多需要递归,以及dfs(深度优先搜索的题目),但无奈大一数据结构只学了一点皮毛,最近实在忍不了,所以打算开一篇博文,记录有关dfs的理解心得,并持续更新:对DFS的概念理解:也许不接触过DFS的同学会困惑,DFS是什么?我在查阅了众多博文资料总结了一下:DFS是一种搜索手段,他从某个状态开始,不断转移状态,直到无法转移,并且没有达成目的,就退回到前一步的状态,然后从其他没有尝试过的状态入手,直到达成目的,或者将所有的状态都尝试完。(上面是挑战算法程序这原创 2021-09-02 17:21:54 · 526 阅读 · 0 评论 -
双指针(持续更新)
双指针原创 2022-02-10 15:11:29 · 782 阅读 · 0 评论 -
前缀和(持续更新)
前缀和题集原创 2022-02-14 19:52:54 · 297 阅读 · 0 评论 -
有关排序的例题(持续更新)
这篇文章会记录有关排序的例题(持续更新)原创 2022-02-19 15:34:46 · 418 阅读 · 0 评论 -
滑动窗口(持续更新)
滑动窗口例题合集原创 2022-02-12 15:28:48 · 882 阅读 · 0 评论