
java数据结构与算法
深入了解数据结构和相关算法!
_编程小菜鸟
编程路上的一只小菜鸟。
展开
-
一文让你秒懂“约瑟夫环问题”
先赞后看,养成习惯!最近闲来无事,翻看了一下之前面试后做的记录,发现当时的自己真是“菜的一批”啊(虽说现在也挺菜,但是多少还是有那么一点点进步的)。追忆一下当年有点跑题了哈哈哈,今天是想跟大家分享一下当年遇到的一道面试题:“约瑟夫环问题”。多得不说,少得不唠,下面开始今天的分享。什么是约瑟夫环问题大家知道什么是约瑟夫环吗?各位读者是不是心里想着:“知道谁还看你在这废话。”然后悄悄地攥紧了拳头?别,各位大哥大姐千万别激动,给小弟点时间,让小弟为你排忧解难。约瑟夫问题为:设编号为1,2,……n原创 2020-06-05 16:20:44 · 1617 阅读 · 0 评论 -
一个“逆序输出单向链表”都能给面试官讲出这么多种实现方式
厚颜无耻的给大家要个赞,哈哈哈!创作不易希望大家可以多多鼓励鼓励。今天我们一起聊一聊“逆序输出单向链表”,这也是一个比较常见的面试题了。我们公司最近招聘时有问到这个问题,但是也有一些回答不上来的,为此我想着写一篇文章,记录一下我知道的几种解决方案,以备不时之需,也希望可以帮助到有需要的人。以下内容会涉及到:“链表数据结构、递归算法、栈。”如果有对这些不太了解的可以看一下之前的文章,都有详细的介绍。什么是逆序输出单向链表通过字面含义相信大家也能大概明白,所谓的逆序输出单向链表就是从链表尾部依次输出原创 2020-06-01 21:22:03 · 226 阅读 · 0 评论 -
再也不怕面试官问“如何反转单向链表”了!
先赞后看,养成习惯!最近写了几篇有关“链表”的文章,其中有理论知识的,也有一些是写如何自己手动实现链表结构的。其实在实际开发中,很少会自己去实现链表。写这些文章的目的也是为了加深对链表这种数据结构的理解。今天呢咱们就搞点实际的,聊一聊“面试”中会问到的有关链表的问题。为了这篇文章我请教了几位最近刚刚跳槽的小伙伴,其中出现频率最高的一道面试题是:“单向链表的反转!”那么今天就来聊一聊如何反转单向链表。什么是反转单向链表其实所谓的反转单向链表,就是将一个原本顺序是“A->B->C->原创 2020-05-29 13:32:49 · 347 阅读 · 0 评论 -
程序员必会系列之——手写“双向链表”
先赞再看,养成习惯!链表作为一种常用的数据结构,我们还是有必要了解一下的,如果有不太了解什么是“链表”的可以查看一下之前的文章。今天让我们动手实现一个“双向链表”。双向链表的节点类public class Node { /** * 数据域 */ public String data; /** * 指针域(指向下一个节点) */ public Node next; /** * 指针域(指向前一个节点) */ public Node pr原创 2020-05-26 20:42:37 · 309 阅读 · 0 评论 -
一文让你学会手写“单向链表”
连续的加班,赶进度终于告一段落了。下面开始今天的文章,让我们一起动手code,实现单向链表和对其的一些基本操作。(如果有不太了解链表的可以看这里。)链表节点类public class Node { // 数据域 public String data; // 指针域(指向下一个节点) public Node next; /** * 构造方法 */ public Node(String data) { this.data = data; }原创 2020-05-23 13:33:24 · 306 阅读 · 1 评论 -
你确定不了解一下什么是“链表”数据结构吗?
最近公司太忙了,已经连续工作两周了。不知道你们赶项目的时候加班严重吗?虽然最近白天工作加班,晚上还要熬夜写文章,感觉很累,但是每次写完发布之后看着阅读量一点点的增加,偶尔还有人给我点赞,就会感觉很开心,很有成就感。在此谢谢大家阅读我的文章并给我点赞,我一定会努力写好每一篇的文章的。开始正文前请接受我的夺命三连问:什么是链表?链表有什么优点?链表有什么缺点?有人能回答出来吗?不知道也没关系,让我们带上这三个问题开始今天的文章,一起了解一下“链表数据结构”。(注:如果有不太清楚什么是“数据结构”的可以看这原创 2020-05-21 09:53:12 · 454 阅读 · 0 评论 -
一文带你解开“递归算法”的奥秘
先赞后看养成习惯!学习一个新的东西,肯定需要先大概了解一下它是什么?然后我们还有知道学习它有什么用?其次我们要知道它的优缺点,这样有助于我们更好的选择何时使用它。下面就让我们带着这三点开始今天的文章。讲递归算法时会涉及到“栈”数据结构的一些知识,如果有不太了解的可以点这里。概述什么是递归简单来说递归就是方法自己调用自己,每次调用时传入不同的变量。一直到程序执行到指定的出口时停止调用本身,并将结果层层返回。递归的作用和优点递归的核心思想就是将一个大问题,拆解成一个小问题,然后将小问题再次拆解,原创 2020-05-16 08:48:14 · 343 阅读 · 0 评论 -
java数据结构系列——深入了解“栈”结构
栈作为一个常用的数据结构(如果有不太理解什么是数据结构的请点这里),其使用范围还是非常广泛的。今天我们就一起了解一下“栈”。简介栈是线性结构当中一种特殊的线性表,它会限制元素的插入和删除,并且是一个有序的列表。栈存取数据都是在线性表的一端进行的,存取数据的一端称为“栈顶”,另一端则是“栈底”。这种存取方式就造就了栈具有先入后出的特点,也就是第一个存储的数据会在最后一个取出来。举个例子来说栈就像是一个弹夹,栈中的数据就好比是一枚枚的子弹。开枪射出的第一枚子弹都是最后一个压入弹夹的。这样说大家是不是大概都能原创 2020-05-13 21:04:12 · 226 阅读 · 0 评论 -
java数据结构系列——什么是数据结构
写在前面正文开始之前先给大家讲一个面试题,题目是:“有两个水壶,一个能装6升水,一个能装5升水。还有一个不限量的水池。现在需要从水池中盛出3升水。”请问如何实现?别上网搜索先想想,这是我一个朋友最近在面试北京一家公司时被问到的一个问题。我感觉挺有趣的,咱们可以在评论区探讨一下。数据结构系列文章我是抱着学习的心态来写的。如果有哪些地方写得不好的,解释不到位的,写的有问题的,希望大家可以提出来,帮我纠正。也希望可以和大家共同成长,一起进步。那么什么是数据结构呢,不知道大家有没有一个概念?其实有一段时间我原创 2020-05-10 22:34:19 · 1934 阅读 · 0 评论