数据结构与算法
文章平均质量分 63
数据结构与算法
庄小焱
我是庄小焱,阿里巴巴Java高级工程师、PMP项目管理专家、系统架构设计师(高级)、CSDN博文专家。 博主在微服务、虚拟化、系统架构、大数据、机器学习领域不断学习,同时在博客中分享自己学习知识和相关技术, 欢迎大家和我交流学习,欢迎大家关注我的博客。
展开
-
算法训练——算法脑图
数据结构与算法系列主要是帮助大家更好的理解和学习基础的算法相关的内容,同时主要是为了帮助大家面试大厂的时候算法问题。同时也是帮助大家积累更多的知识。同时为将来的自身的发展舔砖加瓦。帮助更多的人圆梦。后期我将不断补充算法系列的博文。欢迎大家指点和学习交流。原创 2020-10-14 10:15:04 · 2566 阅读 · 2 评论 -
算法训练——排序问题解析
摘要一、排序算法原理与解题方法二、排序算法练习题目2.1 数组中重复的数字数组中重复的数字_牛客题霸_牛客网2.2 数组中的逆序对数组中的逆序对_牛客题霸_牛客网2.3 最小的K个数最小的K个数_牛客题霸_牛客网2.4 数据流中的中位数数据流中的中位数_牛客题霸_牛客网博文参考...原创 2022-02-04 09:00:08 · 1203 阅读 · 0 评论 -
排序问题——基础排序算法
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可能会要求比较各自的优劣、各种算法的思想及其使用场景。还有要会分析算法的时间和空间复杂度。通常查找和排序算法的考察是面试的原创 2023-02-16 11:01:51 · 506 阅读 · 0 评论 -
排序问题——归并/快速/堆排序问题
博文主要介绍归并算法的原理和相关练习题目。原创 2022-02-15 17:40:55 · 506 阅读 · 0 评论 -
数组问题——数组相关算法
数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力。也就是说,想法很简单,但实现起来 可能就不是那么回事了。首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的面试题。原创 2022-02-25 11:28:36 · 361 阅读 · 0 评论 -
数组问题——二分查找问题
博文主要介绍二分查找相关问题,帮助的大家都更好的在面试中的应对二分查找问题。原创 2022-02-24 13:56:55 · 676 阅读 · 0 评论 -
集合问题——Hash相关算法
数据结构中有一个用于存储重要的数据结构,它们就是HashMap,HasSet,它典型特征就是存储key:value键值对。在查询制定的key的时候查询效率最高O(1)。原创 2023-02-12 10:33:49 · 362 阅读 · 0 评论 -
算法训练——链表算法
本系列博文将主要是学习和分享的算法基本相关问题和解答思路,帮助小伙伴更好理解相关的算法中有关于链表的内容。原创 2022-01-29 13:02:28 · 1205 阅读 · 0 评论 -
算法训练——单调栈算法
本博文主要是介绍算法中栈堆算法相关问题。在栈相关算法主要是的利用的是单调栈的思想来实现,堆的相关算法主要是大顶堆和小顶堆的利用来实现数据有序。其中涉及到基础的建立堆和调整堆的算法。原创 2022-02-21 13:54:31 · 449 阅读 · 0 评论 -
算法训练——队列算法
摘要一、队列 & 栈原理与解题方法二、队列 & 栈相关算法练习题目博文参考原创 2022-01-31 00:00:17 · 452 阅读 · 0 评论 -
算法训练——二叉树算法
本博文将详细的介绍有关于二叉树算法的问题。帮助大家能够对二叉树的问题有一个清晰的了解和学习,帮助大家在面试过程中遇到二叉树问题提供一个可以参考的思路。原创 2022-01-29 23:31:25 · 594 阅读 · 0 评论 -
二叉树问题——前/中/后/层遍历问题(递归与栈)
博文主要介绍二叉树的前/中/后/层遍历(递归与栈)方法原创 2023-10-30 07:36:29 · 584 阅读 · 0 评论 -
二叉树问题——二叉搜索树相关问题
二叉搜索树的相关问题原创 2023-10-27 09:18:18 · 144 阅读 · 0 评论 -
二叉树问题——二叉树相关属性问题
二叉树相关属性问题包括了深度,高度,节点个数,已经最大路径长度等。原创 2023-10-29 23:16:27 · 174 阅读 · 0 评论 -
二叉树问题——前中后遍历数组构建二叉树
利用二叉树的前序,中序,后序,有序数组来构建相关二叉树的问题。原创 2023-11-01 08:30:40 · 261 阅读 · 0 评论 -
二叉树问题——二叉树的路径问题
二叉树的路径问题原创 2023-11-01 08:43:33 · 281 阅读 · 0 评论 -
二叉树问题——二叉树公共祖先问题
本博文主要介绍二叉树公共祖先问题。包括最近公共祖先,二叉搜索树的最近公共祖先等。原创 2023-10-27 14:41:30 · 311 阅读 · 0 评论 -
二叉树问题——平衡二叉树问题
本博文主要介绍平衡二叉树问题包括,二叉树的高度差,是否为平衡二叉树,有序链表转二叉搜索树,将二叉搜索树变平衡等。原创 2023-11-01 08:59:56 · 305 阅读 · 0 评论 -
算法训练——矩阵算法
解题思路:递归的思想和非递归的思想相差不大,递归是首先打印最外层的元素,将内层的矩阵作为一个全新的矩阵进行递归。对于每层,从左上方开始以顺时针的顺序遍历所有元素。假设当前层的左上角位于 (top,left),右下角位于(bottom,right),按照如下顺序遍历当前层的元素。1、从左到右遍历上侧元素,依次为(top,left) 到(top,right)。2、从上到下遍历右侧元素,依次为(top+1,right) 到 (bottom,right)。原创 2022-02-04 09:07:00 · 440 阅读 · 0 评论 -
算法训练——位运算
摘要算法有关于位运算算法。461.汉明距离78.子集136.只出现一次的数字287.寻找重复数338.比特位计数博文参考力扣原创 2022-02-14 13:30:18 · 398 阅读 · 0 评论 -
算法训练——搜索算法
摘要一、搜索算法原理与解题方法1.1 二分法1.2 十大排序算法1.3 二叉树的查询算法二、搜索算法练习题目2.1 数字在升序数组中次数数字在升序数组中出现的次数_牛客题霸_牛客网2.2 二维数组的查找二维数组中的查找_牛客题霸_牛客网2.3 旋转的最小的数字旋转数组的最小数字_牛客题霸_牛客网2.4 字符串的排列字符串的排列_牛客题霸_牛客网2.5 数字序列中某一位数字数字序列中某一位的数字_牛客题霸_牛客网原创 2022-01-31 18:48:13 · 370 阅读 · 0 评论 -
算法训练——前缀和算法
算法类型中前缀和问题常见易连续子数组中等问题。原创 2023-02-15 22:44:03 · 69 阅读 · 0 评论 -
算法训练——回溯算法
回溯算法是深度优先遍历的一种特殊的形式。同时也可以称为是键值算法。本博文将给出一般的回溯算法的解析模板和实例代码供大家参考和学习。原创 2022-02-04 08:57:34 · 584 阅读 · 0 评论 -
算法训练——背包算法
但是很多经典的问题都有其经典的套路,其它问题都可以归结到这些问题上面来,可以看做是它们的变种和延伸,把这些经典的问题吃透的话,自然能举一反三。有N种物品和一个容量为T的背包,每种物品都就可以选择任意多个,第i种物品的价值为P[i],体积为V[i],求解:选哪些物品放入背包,可卡因使得这些物品的价值最大,并且体积总和不超过背包容量。你只有一个容量有限的背包,总容量为c,有n个可待选择的物品,每个物品只有一件,它们都有各自的重量和价值,你需要从中选择合适的组合来使得你背包中的物品总价值最大。原创 2022-03-23 13:57:11 · 3753 阅读 · 0 评论 -
算法训练——最大化最小值(最小化最大值)
看到「最大化最小值」或者「最小化最大值」就要想到二分答案,这是一个固定的套路。为什么?一般来说,二分的值越大,越能/不能满足要求;二分的值越小,越不能/能满足要求,有单调性,可以二分。原创 2023-03-28 21:46:51 · 361 阅读 · 0 评论 -
算法训练——动态规划算法
本博文主要介绍动态规划算法问题已经怎么样熟悉相关算法。对动态规划问题进行总结,提供给大家思考和复习。原创 2022-02-03 21:33:59 · 376 阅读 · 0 评论 -
算法训练——DFS岛屿问题
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。目标是找到矩阵中 “岛屿的数量” ,上下左右相连的。设目前指针指向一个岛屿中的某一点。,寻找包括此点的岛屿边界。都被认为是连续岛屿。原创 2022-02-04 09:03:15 · 641 阅读 · 0 评论 -
算法训练——打家劫舍问题
在算法中打家劫舍问题是算法中一种常见的问题。本博文详解的介绍有关于打家劫舍问题的解析思路,帮助大家更好的理解动态规划在该问题上的应用。原创 2022-03-22 08:00:08 · 349 阅读 · 0 评论 -
算法训练——贪心算法
本博文主要介绍的有关于贪心算法。原创 2022-02-14 23:24:23 · 289 阅读 · 0 评论 -
算法训练——其他综合算法
摘要一、其他综合算法的原理与解题方法二、其他综合算法练习题目2.1 构建乘积数组构建乘积数组_牛客题霸_牛客网2.2 第一个只出现一次的字符第一个只出现一次的字符_牛客题霸_牛客网2.3 替换空格替换空格_牛客题霸_牛客网2.4 调整数组顺序使奇数位于偶数前面(一)调整数组顺序使奇数位于偶数前面(一)_牛客题霸_牛客网调整数组顺序使奇数位于偶数前面(二)_牛客题霸_牛客网2.5 数组中出现次数超过一半的数字数组中出现次数原创 2022-02-04 09:15:47 · 573 阅读 · 0 评论