首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏芋道源码1024

    算法面试之-如何准备算法面试

    主要介绍算法面试的一些问题、以及如何准备算法面试 算法面试不仅仅是正确的回答问题 对于面试中遇到的大多数问题,都能有一个合理的思考路径 什么是算法面试? 让大家在面对面试中的算法问题时,有一个合理的思考路径: 不代表能够“正确”回答每一个算法问题,但是合理的思考方向其实更重要,也是正确完成算法面试问题的前提 算法面试优秀不意味着技术面试优秀 技术面试优秀不意味着能够拿到 算法面试的目的不是给出一个“正确”答案, 而是展示给面试官你思考问题的方式。 “正确”本身是一个相对概念 算法面试不是高考。 把这个过程看作是和面试官一起探讨一个问题的解决方案。 算法面试只是面试的一部分 算法面试只是技术面试的一部分。 根据你的简历和应聘职位的不同,势必要考察其他技术方面。 算法面试仍然是非常重要的一部分 如何准备算法面试 准备面试和准备算法面试 是两个概念 算法面试,只是面试中的一个环节。

    1.4K30发布于 2018-10-25
  • 来自专栏JavaEdge

    玩转算法面试(一)1算法面试意义234 优化算法

    1算法面试意义 否则就是普通快排即可 插入排序更佳 2 3 4 优化算法

    34520发布于 2018-08-22
  • 来自专栏京程一灯

    算法面试指南

    算法是技术面试的重要组成部分,尤其是在国内外的大厂中。本文将为你介绍在面试中需要了解的常见算法以及提高它们效率的方法(这是面试中常见的问题),最后会为你提供一些练习题。 ;具体来说,本文将向你展示一些关键的算法范例(以及使它们高效的方法),这些范例对于学习解决面试中的编码问题至关重要。 在面试中,可能不会要求你直接计算算法的复杂度,但可能会要求你计算所编写的算法的复杂度或让你改善一个算法的复杂度。 复杂度是算法效率的近似度量,并且与你编写的每个算法都相有关。 花时间学习这些,因为你很有可能会在面试中用到其中一种或多种算法。 总结 如果你要进行技术面试,必须为展示自己对各种算法的了解做好准备,并了解每种算法的复杂度。

    73720发布于 2020-05-11
  • 来自专栏互联网大杂烩

    算法面试

    面试的是BAT中某家的算法岗 1.快速排序 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试, 3.讲一下K-means算法? 4.随机森林 5.灰色模型

    42420发布于 2018-08-22
  • 来自专栏JAVA开发专栏

    软件设计师算法--常见算法,常见面试算法,经典面试算法

    ​ 目录介绍一、排序简介 二、冒泡排序法 三、选择排序 四、插入排序 五、希尔排序 六、归并排序 七、快速排序 --------介绍最新准备考试软件设计师,需要专门学习一下算法的基础,以及常见算法学习 ,特意写了这篇博客,所有算法都已在IDEA上面调试过了,没有问题。 一、排序简介 排序算法大体可分为两种: 1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 二、冒泡排序法 算法思路: 1、比较相邻的元素。 仅增量因子为1 时,整个序列作为一个表来处理,表长度即为整个序列的长度 ​编辑六、归并排序 算法思路: 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

    87261编辑于 2022-11-21
  • 来自专栏JAVA开发专栏

    软件设计师算法--常见算法,常见面试算法,经典面试算法

    ---- 介绍 最新准备考试软件设计师,需要专门学习一下算法的基础,以及常见算法学习,特意写了这篇博客,所有算法都已在IDEA上面调试过了,没有问题。 编辑 一、排序简介 排序算法大体可分为两种: 1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 二、冒泡排序法 算法思路: 1、比较相邻的元素。 编辑 三、选择排序 算法思路: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 仅增量因子为1 时,整个序列作为一个表来处理,表长度即为整个序列的长度 编辑 六、归并排序 算法思路: 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

    36910编辑于 2023-07-15
  • 来自专栏全栈程序员必看

    Java 面试算法

    排序算法   名词解释: n: 数据规模 k: “桶”的个数 In-place: 占用常数内存,不占用额外内存 Out-place: 占用额外内存 快排的Partition函数与归并的Merge函数

    35930编辑于 2022-09-09
  • 来自专栏大数据学习笔记

    面试算法

    System.out.println(replaceSpace(sb)); System.out.println(replaceSpace2(sb)); } } 3、单链表逆序的递归算法

    2.4K71发布于 2018-01-02
  • 来自专栏CSDN技术头条

    征战 BAT 算法面试

    对于机器学习的初学者来说,面试方面的经验总结也非常重要。能够加深对算法和机器学习基本理论的理解。 所以,本文网罗了多年来 BAT 的面试真题,能搞懂这些面试题加上多次反复研习知识,在 BAT 面试初中级算法时就轻松多了(前提是企业比较看重面试算法能力)。 一、算法面试注意细节 算法工程师岗位(机器学习、数据挖掘、数据分析等)面试主要包含两大块: 首先,基本的 Coding 能力; 其次,机器学习算法的理论与应用能力。 基本的 Coding 能力考察,主要是让你写一些数据结构与算法设计的常见算法题,比如链表类、二叉树、排序、查找、动态规划等。 机器学习算法理论与应用能力不讲,单就面试来看,本文就够了。当然师父领进门,修行在个人,想要在这方面深造,还需要大量实践和广泛的学习优秀论文及开源源代码。 二、算法面试常见问题 1.

    62110发布于 2018-10-25
  • 来自专栏饶文津的专栏

    面试算法

    用小根堆优化 prim 算法。 LRUCache(LeetCode146) 面试完才知道这是道经常考的面试题,有原题,只不过把键值都改为字符串。 当时写的 bug 太多了,对链表的操作也没有抽出函数来。回来又改了好久才 AC。

    50110发布于 2020-06-02
  • 来自专栏三木的博客

    面试复习-算法-排序

    寻找第K大的数: https://leetcode.cn/problems/xx4gT2/

    14710编辑于 2024-10-09
  • 来自专栏数据人生

    算法面试

    算法的几个特征是什么 有穷性: 一个算法必须保证执行有限步之后结束 确切性: 算法的每一步骤必须有确切的定义 输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件 没有输出的算法是毫无意义的 可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成 算法复杂性的定义。大O、小o分别表示的含义 小o表示实际的时间复杂度,大O表示时间复杂度。 将真实的时间复杂度中的每个式子的常数项设成1,并取多项式中单项最大的那个项,就成了大O 递归算法的定义、递归算法的两要素 定义:一种直接或者间接调用自身的算法 两要素 终止条件 每次递归调用的时候, 范围会缩小 分治算法的思想 分治算法,就是分而治之,将复杂的问题分解成简单的问题进行解决 动态规划算法解题框架,动态规划算法的两个要素是什么? 参考 July面试算法讲座PPT

    46210编辑于 2022-09-29
  • 来自专栏秋落雨微凉Java开发栏

    算法面试点汇总

    算法面试点汇总 我们会在这里介绍我所涉及到的算法相关的面试点内容,本篇内容持续更新 我们会介绍下述算法的相关面试点: 二分查找 冒泡排序 选择排序 插入排序 快速排序 二分查找 我们在这里介绍二分查找的面试点 如果数组为奇数,我们直接取中间值 如果数组为偶数,我们取两个中间值靠左的值 冒泡排序 我们在这里介绍冒泡排序的面试点 冒泡排序基础算法 我们首先给出冒泡排序的暴力算法: public class Increase ;但非稳定性算法会改变相同元素的位置 选择排序是非稳定性算法;冒泡排序为稳定性算法 插入排序 我们在这里介绍插入排序的面试点 插入排序算法 我们这里直接给出插入排序的具体算法: public class 我们在这里介绍一个插入排序的优化算法思想: /*希尔排序*/ 由于面试中并不经常考察希尔排序算法,我们在这里仅给出思路 /*产生原因*/ 由于插入排序会进行多次的数据交换(将已排序数组中的高位值移动到高位 我现在给出的整个快排算法是Acming中闫老师给出的算法,我们的面试尽量书写这个算法: /*快排优化算法*/ import java.util.Scanner; public class quick_sort

    67020编辑于 2022-12-07
  • 来自专栏苦逼的码农

    大厂面试为什么总考算法?以及如何避开算法面试

    这样一来,算法面试的另一个优势就体现出来了:对于面试官来说,好准备。 对于系统设计问题来说,通常,面试官的水平要远远高于面试者,才能真实地鉴别出面试者的能力。 但是,对于算法问题来说,即使面试官的算法水平低于面试者,也可以进行考核。因为面试官可以直接看答案,理解清楚解题思路和代码就好了。 正因为如此,会出现下图这样的事情。 一个算法面试官问你一个算法问题,你答不好,不代表他比你强。因为你们处于信息不对等的位置。 6. 除此之外,算法面试还有更多优点。 比如,语言无关。 不管是深度还是广度,不管是简单的还是难的,总会有合适的算法问题让面试官选择,以测试出你的水平上限; 也正因为算法问题的选择很多,所以,使用算法面试,非常容易成规模地进行招聘。 在一段时间里进行几百场面试,题目不会重样。这样,避免了泄题的问题。 7. 那么,算法面试有没有缺点呢?当然有。

    1.2K30发布于 2019-11-05
  • 来自专栏五分钟学算法

    大厂面试为什么总考算法?以及如何避开算法面试

    这样一来,算法面试的另一个优势就体现出来了:对于面试官来说,好准备。 对于系统设计问题来说,通常,面试官的水平要远远高于面试者,才能真实地鉴别出面试者的能力。 但是,对于算法问题来说,即使面试官的算法水平低于面试者,也可以进行考核。因为面试官可以直接看答案,理解清楚解题思路和代码就好了。 正因为如此,会出现下图这样的事情。 一个算法面试官问你一个算法问题,你答不好,不代表他比你强。因为你们处于信息不对等的位置。 6. 除此之外,算法面试还有更多优点。 比如,语言无关。 不管是深度还是广度,不管是简单的还是难的,总会有合适的算法问题让面试官选择,以测试出你的水平上限; 也正因为算法问题的选择很多,所以,使用算法面试,非常容易成规模地进行招聘。 在一段时间里进行几百场面试,题目不会重样。这样,避免了泄题的问题。 7. 那么,算法面试有没有缺点呢?当然有。

    2.5K10发布于 2019-10-30
  • 来自专栏原创

    算法工程师面试必问的算法面试理论 顶

    算法方向的你 面了多少次试? 最后,因为不懂算法, 死在了半路上? 这些痛, 作为技术创新型公司的小编——个推君 怎么会不懂? 为此,个推君特请了我司经验丰富的面试官 为你奉上一份热乎的面试宝典。 宝典可不是面试题哦 仅送给想认真钻研的童鞋 帮大家梳理知识点 让大家举一反三, offer拿到手软! 注:此处建议大家使用 C 语言来学习数据结构与算法。 一、数据结构 数据结构是算法的基础。 掌握程度: 如果不是面试算法工程师的话,建议刷完 10 道相对简单的题目即可。 比如 普利姆算法,克鲁斯卡尔算法等,这些都是非常经典的算法。我们需要知道经典算法的设计逻辑以及优缺点。 ? 杂谈 说个现实的问题,除非是算法工程师,大家在开发的过程中极少用到算法的,那是不是反向推论算法仅是停留在做题&面试,仅需要应付面试即可了?那是不是只要疯狂刷题就可以了!!!

    58021发布于 2019-12-24
  • 来自专栏爪哇缪斯

    面试题27:GC算法——复制算法

    复制算法如下图所示: 为了解决效率问题,复制算法应运而生。 优点: 执行效率很高。 可以保证回收后的内存空间没有碎片。 缺点: 内存空间只能使用1/2 总结原理: 因为90%以上的新生代对象生命周期都很短暂,并且GC在新生代回收的特点就是频率高,耗时低,所以:针对以上特点,JVM垃圾收集器都采用复制算法来回收新生代 复制算法在JVM堆中的应用 由于Eden区于S0和S1比例默认是8:1:1,新生代的空间=Eden区+S0/S1=90%,那么浪费的空间也只有10%而已。

    24110编辑于 2023-05-09
  • 来自专栏后端技术探索

    常见算法面试

    这几天在网上看到一篇关于算法面试题的博客,归纳的很好,有不少经典的题目,大部分来自《编程珠玑》、《编程之美》、《代码之美》三本书。这里给出书上的解答以及一些思考。如有不对的地方,希望得到高手的指点。 时间复杂度为O(N) 【四】 常见方法 你需要相信,面试官也是人,他不会有心情花30分钟给你描述一个问题,或者让你做50页纸的推导,考算法的目的只是为了你的思维能力,而不是真的想让你搞定一个复杂的问题 【五】 加速方法 很多时候,你给的算法基本正确,但是还不够优秀。面试官会希望你优化一下。优化的方法有很多,就基本的思路就是,考虑一下到底哪里出现了浪费。 ,我们都是面向数组来设计算法,因为简单变化多,面试官好把握。 树 eg6.4:写堆排序的算法 一般算法书上都有的,这里就不列了 eg6.5:判断一棵二叉树T中,是否包含另一颗二叉树P的结构。 -- 微软面试题 待解答 以上一些内容,只是管中窥豹而已。

    1.4K20发布于 2018-08-09
  • 来自专栏捡田螺的小男孩

    面试必备:回溯算法详解

    我们刷leetcode的时候,经常会遇到回溯算法类型题目。回溯算法是五大基本算法之一,一般大厂也喜欢问。 今天跟大家一起来学习回溯算法的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~ 什么是回溯算法? 一道算法题走进回溯算法 回溯算法框架套路 leetcode案例分析 1. 什么是回溯算法 回溯算法,一种通过探索所有可能的候选解来找出所有的解的算法。 它采用试错的思想,它尝试分步的去解决一个问题。 一道算法题走进回溯算法 给定一个不含重复数字的数组 nums ,返回其所有可能的全排列。你可以 按任意顺序 返回答案。 或者说为什么用到回溯算法呢?

    83120编辑于 2022-02-10
  • 来自专栏三木的博客

    面试复习-算法-回溯法

    回溯法 回溯法是一种搜索算法,常用于解决组合优化问题和枚举问题等。以下是关于回溯法的详细介绍: 基本概念 解空间:回溯法通常用于求解问题的所有可能解,这些解构成一个解空间。 算法步骤 定义问题的解空间:确定问题的解可以表示为什么形式,以及所有可能的解构成的空间结构。 剪枝操作:在搜索过程中,利用约束条件进行剪枝,即剪掉那些不可能产生可行解或最优解的子树,以提高算法的效率。 记录解:当搜索到叶子节点时,如果该叶子节点代表的解满足问题的要求,则将其记录下来。

    34910编辑于 2024-10-09
领券