面试刷题必备
文章平均质量分 82
高频出现的算法面试题
万小猿
这个作者很懒,什么都没留下…
展开
-
快速突破算法之位运算
一、前言:什么是位运算位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。从现代计算机中所有的数据二进制的形式存储在设备中。计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即符号位共同参与运算的运算。举一个简单的例子来看一下是如何进行计算的,比如这行代码:int a=30;int b=42;int c=a+b;计算两个数的和,因为在计算机中都是以二进制来进行运算,所以上面我们所给的int变量会在原创 2021-02-10 21:48:56 · 746 阅读 · 0 评论 -
快速突破面试算法之图篇
一、前言:什么是图 在数学中,图是描述于一组对象的结构,其中某些对象对在某种意义上是“相关的”。这些对象对应于称为顶点的数学抽象(也称为节点或点),并且每个相关的顶点对都称为边(也称为链接或线)。通常,图形以图解形式描绘为顶点的一组点或环,并通过边的线或曲线连接。 图形是离散数学的研究对象之一。 是鬼玩意,完全看不懂。没关系啊!!!! 我们看看图就知道了。左边是无向图,右边是有向图。这个简单吧。...原创 2021-01-31 22:34:55 · 296 阅读 · 0 评论 -
非常好用的数据结构可视化工具。
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html可以进入这个网址点进二叉平衡树:插入1插入2,自动寻找位置,而且其中还有寻找的路径。...比如我插入3的时候在自动搜索所对应的位置大家可以多多尝试,有助于理解数据结构。...原创 2021-01-30 15:49:53 · 1192 阅读 · 0 评论 -
快速突破面试算法之数组与矩阵篇
一、前言:什么是数组与矩阵原创 2021-01-25 23:33:11 · 301 阅读 · 0 评论 -
快速突破面试算法之字符串表篇
一、前言:什么是字符串原创 2021-01-24 23:46:29 · 267 阅读 · 0 评论 -
快速突破面试算法之哈希表篇
一、前言:什么是哈希表 哈希表也称作散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。 哈希表跟数组有些像,可以根据下标直接查询,所以时间复杂度是O(1)...原创 2021-01-23 19:57:37 · 463 阅读 · 0 评论 -
快速突破面试算法之栈与队列结构篇
一、前言:什么是栈和队列 栈: 栈就跟我们以前玩完积木一样,我们把积木一块一块放入盒子里放好,下次去又去拿出来玩的时候,我们从顶部一块一块拿出来。因此我们先放入的积木,是最后取出来! 队列: 队列就跟我们排队吃饭一样。我们去食堂吃饭,先排队到窗口的就先打饭!!!二、栈与队列的方法栈的方法:队列的方法: 这两者的方法有些相似,大家做题的时候一定不要混淆了。三、一切理论都源于实践,多刷题领悟其中精髓才能真正掌握...原创 2021-01-21 23:09:06 · 219 阅读 · 0 评论 -
快速突破面试算法之树结构篇
一、前言:什么是树 树这种数据结构跟我们大自然的树非常像!!!! 也是有根有节点!树是一群节点的集合,简单来说就是节点组成了一个树,如下图:大自然的树千奇百怪!当然所对应的数据结构中的树也有多很多,我列出几种比较经典的几种!、二、树的种类 详见这篇文章:https://www.cnblogs.com/jiangxin/p/11810772.html三、一切理论都源于实践,多刷题领悟其中精髓才能真正掌握四、树结构相关的面试...原创 2021-01-20 22:29:26 · 381 阅读 · 0 评论 -
快速突破面试算法之链表篇
一、前言:什么是链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 不要怕,让我一一来给你解释。链表实际上就是下面这个样子的 它是一块一块的,怎么连接的呢?他的每一块是这样定义的public class ListNode { int v...原创 2021-01-19 19:50:07 · 462 阅读 · 0 评论 -
快速突破面试算法之数学运算篇
一、前言:什么是数学运算 提到数学,我猜大家都是这样的表情。 但是篇文章只是简单运算,让大家练练手。比如一些进制转换,阶乘计算,二进制加法之类。面试常问啊。毕竟计算机可是随随时时都在接触二进制,所以大家是肯定跑不掉的!!来吧,不能拒绝就享受吧!二、一切理论都源于实践,多刷题领悟其中精髓才能真正掌握!三、数学运算相关的面试高频题目录1.计算素数(质数) 博主的笔记思路及代码讲解:2.七进制数 ...原创 2021-01-18 15:54:06 · 365 阅读 · 0 评论 -
快速突破面试算法之动态规划篇
一、前言:什么是动态规划 用一句话概括:走一步看一步。用一个生动例子来跟大家说!爬楼梯~~~ 假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1 级或者 2 级,那么你有多少种方法爬到楼梯的顶部?这个问题怎么解呢?身为理工男,凡事没有表达式不能解决的! 首先我们先设F(n)是爬n级楼梯的方法数量。因为其中我们只能爬1级或2级。所以我们到达n级的之前的一步肯定是n-1级或者n-2级!所以当我们走到n级的时候,就看走到n-1和n-2的方法,这就是走一步看一步!...原创 2021-01-17 16:14:59 · 522 阅读 · 0 评论 -
快速突破面试算法之搜索算法篇
一、前言:什么是搜索 搜索这个词很容易就见名知意,比如我们的高德地图(高德,打钱!),我们要去某个目的地的时候,我们有很多选择的路径到达我们的目的地。然后高德后台是选择了一条我们耗时最短的路线给我,然后我们就可以进行放心到达目的了。通俗点的来说,就是高德将所有的可能路径都搜索出来了,给了一条我们耗时最短时间的路程。二、漫画解释深度搜索与广度搜索 这部分由于博主时间有限,找了网上较好的文章! 一段时间空下来后一定补上一个通俗易懂生动的解释! https://blog.csdn....原创 2021-01-16 15:33:01 · 541 阅读 · 0 评论 -
快速突破面试算法之分治算法篇
一、前言:分治的来源 根据博主的浅薄知识,我是这样理解的。分治、分治,我们分开来理解!把分治拆成分开和治理。 大家想想一个皇帝(是不是大家都有皇帝梦)想要统治一个国家,一般都不会他一个人管理每一个人,上至宰相、下至贫民。什么事都去找皇帝,他哪有时间快活啊。 所以聪明的皇帝就把自己管理的人分成了几个大模块,由自己信任的人去管理,他来管理这几个大模块的领袖。那岂不是皇帝就有很多快乐玩耍的时间了!一个事情分开几块来做,有一个科学的术语叫做:解耦! 高内聚,低耦合!高...原创 2021-01-15 14:20:18 · 585 阅读 · 0 评论 -
快速突破面试算法之排序篇
一、前言:什么是排序算法 老祖宗说得好:没有规矩不成方圆! 所以说排序这个事,砸门丢不得,也不能丢!因为面试被手撕八大排序的可能比较大!!! 八大排序,没有想到排序还有8个吧。你觉得能写出几个呢?不要怕我们慢慢来缕缕,温故而知新!! 关注我一下,收藏我一下,没事每天来看看就记下来啦!!!!(疯狂暗示)二、八大排序 既然有八种,存在着了,我们吃瓜群众肯定喜欢看那个最NB,那个最菜!我们之后才能用那个更方便!①直接插入排序应用场景:把...原创 2021-01-15 12:16:50 · 659 阅读 · 0 评论 -
快速突破面试算法之二分查找篇
前言:什么是二分查找 首先四个字,一个"二分",一个"查找"。道出了用的什么步骤和什么目的了。通过分两半的步骤去查找我们需要的东西。所以大家如果以查询某个数或这个字符为目标,可以用这种方法。而且这个方法可是有限制的。只能是有序的数组哦。无序的也可以(但是要先把无序的搞成有序的)。 接下来就举一个栗子: 假设你想进入这个队伍中,保证这个队伍的身高是从高到低排列。你只有走到队伍中,才能和相邻位置的人比较身高: 那么你会怎么选呢? 因为你的身高是不知道的。所以对于这个...原创 2021-01-14 12:34:12 · 636 阅读 · 0 评论 -
快速突破面试算法之双指针篇
前言:什么是双指针 砸门用大白话来说,就是两个定位装置。 那么这两个定位装置有什么用呢?那肯定去定位撒,而且更高级的是这装置上面还有摄像头,可以看见当前所在位置的情况。 现在我们给两个装置各自赋予动力,先赋予相同的动力(及移动速度一样)...原创 2021-01-13 14:35:43 · 1868 阅读 · 1 评论 -
快速突破面试算法(内含从简到难的高频题型目录及每题的详解,已经归类整理好并外带博主的免费答疑)
前言:初衷(共同进步) 由于随着计算机的工资日益升高,越来越多的人都踏入了计算机行业(博主也是一枚机械人)。当初我也很迷茫,听着师兄们说刷题,刷题,刷题!想要高工资,没有一点算法功底,我们就真的是8K~15K中的8K了,更甚者:因为一个排序没有写出来,直接面试刷掉了。可想刷题的重要了!!但是这些都是有套路,有方法的,不能乱来。 我收集了挺多资料,然后就开始刷题,先是刷剑指OFFER,刷了80%后,发现容易忘啊!然后感觉方法有些错了。然后我各种找资料,看文献:如何提升自己的算法能力。发现了对于任何..原创 2021-01-13 12:04:42 · 6914 阅读 · 1 评论