数据结构
文章平均质量分 61
总结学过的知识,分享自己的一点见解
鱼小洲
一名在Java行业慢慢自学而且摸爬滚打的弟中弟,技术没有,只会吹牛逼,精通各大框架以及开发语言单词的拼写,很高兴认识你。
展开
-
【数据结构】双向链表——Java实现一个简单的双向链表
目录前言编码前言昨天写完单向链表和栈结构之后,看了看程杰大大的书中有介绍双向链表的部分。虽然是c语言写的,但是我还是用Java给翻译出来了。思路如下:首先,双向链表和单向链表的最大区别就是,双向链表比单链表多了个指向前一节点的指针。代码量其实并不比单链表多很多,只是思路的转变需要克服一下。其次就是在插入元素的时候,我们可以在链表的头部插入,也可以在链表的尾部插入(因为有两个指针嘛)编码代码其实和单链表差不多,如果感兴趣的话可以去看看我之前写的单链表的文章。虽然文笔很烂,但是代码货真价实。pac原创 2021-02-05 20:29:02 · 243 阅读 · 0 评论 -
【数据结构】单向链表——用Java手写一个单向链表
目录前言单链表图解代码前言单向链表比顺序结构的线性表最大的好处就是不用保证存放的位置,它只需要用指针去指向下一个元素就能搞定。单链表图解图画的比较粗糙,简单的讲解一下:上面四个长方形,每个长方形都是一个节点。在长方形中,一种包含两个东西,一个是当前节点的元素,一个是指向下一节点的地址。这个下一个节点的地址指向了下一个节点中的元素。以此类推。在最左边的叫做头节点,同样,最后面的叫尾节点。所以,我们所有的操作都是根据节点来进行操作。代码这些代码都有很详细的注释,我就不做过多的解释了,你直接复原创 2021-02-04 17:54:47 · 254 阅读 · 0 评论 -
【数据结构】线性表——使用Java实现一个简单的线性表
目录前言需求分析编码add方法getIndex方法pop方法insert方法getAll全部代码前言其实线性表在生活中和栈的结构差不多。昨天总结了一篇单链表,也是线性表的一种。今天用另一种写法来控制指针的移动实现数据的顺序存储结构。需求分析首先要明确,这种顺序存储结构的线性表底层用什么。根据之前查看过的源码来看,list一般都是以数组为底层。我们也不例外。其次,我们还得去定义好线性表的长度,以及每个元素的指针。private Object[] arr; // 底层的结构private int原创 2021-02-04 17:45:34 · 626 阅读 · 0 评论 -
【数据结构】栈——实现一个简单的自定义栈
目录前言准备工作编码环节push方法pop方法empty方法全部代码前言其实我们生活中有很多栈的例子。今天记录这一篇文章主要还是用我生活中的实际例子来解决问题。公司有个项目,需要做一个评论功能。大家都知道,时间最近的评论会被加载到最上面,这就好比张三先评论了一个666,第二天李四评论了一个777,那么李四的评论肯定是展示在最上面的。那么具体怎么去实现呢?那有人说了,保存在数据库中按时间更新不就行了吗。这样也确实可以,不过,我们可以用更简单的做法来实现。因为这个例子类似于我们栈的操作——先进后出的原原创 2021-02-03 11:31:55 · 597 阅读 · 0 评论 -
【数据结构】算法——一个决定你程序效率高低的重要因素
目录前言数据结构和算法关系高斯求和算法定义算法的特性输入输出有穷性可行性算法设计的要求正确性可读性健壮性时间效率高和存储量低算法效率的度量方法事后统计法事前分析估算方法函数的渐进增长算法时间复杂度小结前言今天是总结的第二天,早起的鸟儿有虫吃,早起的虫儿被鸟吃。。。其实我一直在想,写这一篇,到底是用哪一本书的哪一章来总结。因为这个标题的醒目,肯定会有人以为这一章写代码。最后还是决定了,这一章,主要是来推导一些我们平时见到的,但是却不懂的定义。又是很枯燥的一早上,加油奥里给。。。数据结构和算法关系虽原创 2020-12-10 11:16:34 · 1934 阅读 · 0 评论 -
【数据结构】绪论——一切的开端都是从基础开始的
前言最近也是在忙着答辩的事情,不过总算,最头痛的事情搞定了,也就有时间闲下来好好的复习一下以前的东西了。感谢程杰老师的大话数据结构,让我有了一个学习的方向,不至于摸爬滚打而找不到方向。数据结构是程序员日常开发中必不可少的,如果不学好的话,你就只有天天和产品经理吵架,和开发吵架,和任何人吵架,吵架的源头就只有一个,你数据结构怎么学的,这么垃圾(开个玩笑)由此可见,数据结构还是很重要的,不然的话,你不学好,以后哪儿的机会变成高富帅,迎娶白富美。话不多说,开始正题。这一章不写代码,主要记录一些概念东原创 2020-12-09 14:10:20 · 310 阅读 · 0 评论