数据结构与算法(Data Structure)
文章平均质量分 92
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
白鹿第一帅
郭靖,笔名“白鹿第一帅”。Java开发工程师,算法、安全领域爱好者,开源布道师,社区运营,万粉作者。亚马逊云科技User Group Leader,CSDN成都城市开发者社区、数据库技术专区主理人。工学、管理学双学士学位,拥有多项国家工信部高级专项技术证书及计算机软件著作权。技术领域,拥有5年JavaEE企业级开发运营经验。CSDN社区“博客专家”、CSDN内容合伙人,阿里云社区“专家博主”、“星级博主”,腾讯云开发者社区“2022年度优秀作者奖”,华为云社区“华为云专家”,开源中国OSCHINA首位“OSC优秀原创作者”、“OSC最受喜爱博主”,华为开发者联盟“文档深度体验官”。
展开
-
“三门问题”解决方案:换不换?更换策略与贝叶斯策略?附 Java 验证代码
“三门问题”作为一道经典逻辑推理题,经常被用来考察面试者的数学和逻辑思维能力,面试者需要通过掌握不同事件的属性和限制条件,运用逻辑推理和数学计算,得出不同情境下的概率。今天看到有同学面试遇“三门问题”,其中一个女孩子解答采取最稳妥的概率方法——穷举法,而大部分同学答案是“坚持不换”,选中车的概率永远是 1/n,换不换无所谓。果然经典问题是值得回味的,如果仅把思维固化在开门角度,确实选中概率永远是 1/n;如果看的是“换的角度”,当然如果你记得贝叶斯公式,那这个问题迎刃而解了,数学世界是充满无穷奥妙的!原创 2023-11-10 19:31:18 · 737 阅读 · 3 评论 -
新年新玩法,数组“招婿”:老许,你要老婆不要?
随着疫情的放开,在家里闲来无事的我出门放风。电梯里无意间瞥见一张“招婿”启示,寻找一位又高又帅的 IT 同行人员当女婿,女不女婿什么的无所谓,“一位又高又帅的 IT 同行人员”这说的不就是我吗?定睛一看,还是 Java 语言写的,简单分析了一下:为了排除掉非 IT人员的骚扰,对口寻人,通过数组来获取联系方式,这年头不懂点技术还不能结婚是吧?这更不是术业有专攻吗?来劲了,我都不想出去玩了,这条件,被人捷足先登了怎么办!为了兄弟们的老婆,作为新时代雷锋,我来为你们打下第一关。原创 2023-01-04 16:48:45 · 509 阅读 · 3 评论 -
Java 大厂面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?
从本文我们将开始《Java 大厂面试必刷题》系列的更新,Java 面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?这道题对于 Java 从业者来说简单是因为这是一道很基础的面试题,说有深度它又可以完全考察一个 Java 从业者对于面向对象编程这个重要思想的理解程度。原创 2022-08-27 04:33:06 · 529 阅读 · 1 评论 -
JVM 调优 2:GC 如何判断对象是否为垃圾,三色标记算法应用原理及存在的问题?
本文进入我们进入 JVM 调优系列 2,GC 如何判断对象是否为垃圾,这个是面试中的高频面试题,同时对于 GC 的三色标记算法属于 GC 算法的核心内容,我们将通过算法的应用原理进行深度剖析并分析存在的问题,由此来得出 GC 的制定机制是什么?这里就不再强调重点了,因为到处都是重点!原创 2021-03-21 12:56:45 · 755 阅读 · 5 评论 -
JVM 调优 1:“精通 JVM 调优,有过 JVM 调优经验”简历敢写吗?薪资涨 5k 的技巧
现在除了一些有工作和开发经验的大神,基本很少有人在简历上敢写“精通 JVM 调优,有过 JVM 调优经验”,因为应聘者如果写这句话就意味着你的面试将会是很“难过”的,面试官会变着法的问你如何进行 JVM 系列调优,如果你的基础比较薄弱或者是仅仅背面试题速成,那么你很可能在面试中露馅。JVM 作为 Java 的核心,面试后端开发工程师或者架构师这都是必备的技能。既然 JVM 如此重要,那我就在本系列中完整的过一遍,让你敢于在简历上写“精通 JVM 调优,有过 JVM 调优经验”,薪资涨 5k!原创 2021-03-20 20:40:13 · 3024 阅读 · 13 评论 -
Java 反射机制详解:私有方法调用头大?如何通过反射调用类中的私有方法?
在 Java 中如果我们使用 new 关键字调用构造函数对类进行实例化,我们就可以根据在这个类中的修饰符来访问类中定义的非私有方法。但是如果需要在其他类调用私有的方法,就可以利用 Java 中提供的反射来实现。原创 2020-08-21 09:59:24 · 6415 阅读 · 7 评论 -
Java 跨平台运行机理:Dos 命令在桌面新建文件夹,并在其中编译、运行一段 Java 程序
本文通过依靠本地的 JRE,使用 Windows 的 Shell 命令在桌面新建文件夹,并在该文件夹中编译、运行一段 Java 程序段来揭示 Java 跨平台运行的机理。这也是我们在初学 Java 时老师会带我们做的一个实验,用于一步一步来理解 Java 的运行流程。原创 2019-12-16 22:04:35 · 1637 阅读 · 3 评论 -
Java 设计模式 Day2 之面向抽象原则:接口(interface)的设计应用与抽象类的区别
面向抽象原则是面向对象四大基本原则的第一条,其重要性不言而喻,面向抽象原则分为抽象类、接口以及面向抽象编程,由于篇幅有限本文我们主要细说接口(interface)的设计与应用,并通过引入案例的形式使概念更便于理解。除去介绍接口(interface)的设计与应用,同时对两个特别容易混淆的概念——抽象(abstract)类与接口(interface)进行对比。原创 2022-03-04 17:50:05 · 733 阅读 · 1 评论 -
毕业生当头一棒?忆本科四年,高校毕业生与就业单位基本要求差多少?工作还是考研?
2021 年,是我本科毕业的年份。最近呢刚忙完面试,也跟几个老师和朋友谈论了一下关于就业的问题。在此回忆了一下之前我的大学生活以及面试对我的感想和导向。同时我们深剖这个问题:高校本科毕业生到底与就业单位的基本要求差多少?本科程序员该工作还是考研?原创 2021-02-06 15:27:03 · 3900 阅读 · 22 评论 -
Java 设计模式 Day3 之面向抽象原则:什么是面向抽象编程?面向抽象编程如何应用?
面向抽象原则是面向对象四大基本原则的第一条,其重要性不言而喻,面向抽象原则分为抽象类、接口以及面向抽象编程,在之前的内容中我们详细介绍了抽象类与接口,并对二者进行了对比,在本文中我们将详细介绍什么是面向抽象编程,它与传统编程相比有什么优势?在开发中又该如何切实应用。原创 2022-03-04 22:22:46 · 1500 阅读 · 1 评论 -
Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
在 Java 的语言体系中共有 11 种常见的修饰符,其在我们日常的开发中一般有四种使用情况:成员变量、成员方法、代码块和内部类,那么在应用过程中我们还应该具体注意些什么?通过本文中我们将从最基础的底层和原理来理解和疏通这些常见修饰符语法说明以及在常见的开发中如何使用。原创 2020-08-01 20:40:23 · 1138 阅读 · 5 评论 -
Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析
面向抽象原则是面向对象四大基本原则的第一条,其重要性不言而喻,面向抽象原则分为抽象(abstract)类和接口(interface)以及面向抽象编程,由于篇幅有限本文我们主要细说抽象(abstract)类的设计与应用,并通过引入具体案例的形式使概念更便于理解。原创 2022-02-28 20:56:17 · 984 阅读 · 1 评论 -
常见的技术类英文字母含义总结,Localhost、SDK、URL 等(持续更新中)
常见的技术类英文字母含义总结,Localhost、SDK、URL等。原创 2019-09-07 17:03:43 · 865 阅读 · 1 评论