原点灬留恋
码龄7年
关注
提问 私信
  • 博客:87,349
    87,349
    总访问量
  • 27
    原创
  • 2,199,824
    排名
  • 27
    粉丝
  • 0
    铁粉

个人简介:一个才入行的萌新

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2017-10-18
博客简介:

qq_40688338的博客

查看详细资料
个人成就
  • 获得39次点赞
  • 内容获得11次评论
  • 获得220次收藏
  • 代码片获得152次分享
创作历程
  • 1篇
    2021年
  • 1篇
    2019年
  • 27篇
    2018年
成就勋章
TA的专栏
  • 数据库
    6篇
  • java
    11篇
  • 数据结构以及算法
    20篇
兴趣领域 设置
  • 大数据
    mysqlredis
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

golang链表操作

package func_masterimport "fmt"// Node 链表节点type Node struct { Value interface{} Next *Node}type List struct { headNode *Node // 头结点}// IsEmpty 判断链表是否为空func (list *List) IsEmpty() bool { if list.headNode == nil { return true } return fal
原创
发布博客 2021.07.01 ·
318 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

数据结构与算法——2-3-4树详解java

2-3-4树的介绍在二叉树中,每个节点有一个数据项,最多有两个子节点,当每个节点有多个数据项和更多的节点的话这就是多叉树,这里我说的2-3-4树就是一个多叉树,它的每个节点最多有三个数据项和四个节点,它和红黑树一样是讲究平衡的,它的效率比红黑树稍微差一些。但是编程比红黑树容易,其实最重要的是通过红黑树更容易了解B树,B树是另外的一种树,B树的节点可以有几十个或者几百个。下面是一个小的2-3-4...
原创
发布博客 2019.01.06 ·
884 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

数据结构与算法——2-3-4树详解java

2-3-4树的介绍在二叉树中,每个节点有一个数据项,最多有两个子节点,当每个节点有多个数据项和更多的节点的话这就是多叉树,这里我说的2-3-4树就是一个多叉树,它的每个节点最多有三个数据项和四个节点,它和红黑树一样是讲究平衡的,它的效率比红黑树稍微差一些。但是编程比红黑树容易,其实最重要的是通过红黑树更容易了解B树,B树是另外的一种树,B树的节点可以有几十个或者几百个。下面是一个小的2-3-4...
原创
发布博客 2019.01.06 ·
884 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

数据结构与算法——红黑树详解java

我另一篇文章讲了什么是二叉树,二叉树就是对于某一个节点来说,它的左子树要比它小,右子树的值要比它大,二叉树搜索树作为一种数据结构,其查找,插入还有删除的时间复杂度都是O(logn)底数是2,但是我们说的这个时间复杂度是指在二叉平衡数上面体现的,也就是说数据时随机的,则效率很好,但是如果顺序从小到大或者从大到小就会发生另一种情况,如图:从大到小及时全部在左边,这就和链表没有任何区别了,这种情况下...
原创
发布博客 2018.12.27 ·
456 阅读 ·
1 点赞 ·
2 评论 ·
4 收藏

数据结构与算法——二叉树详解java

我们有序数组查找快,可以通过二分查找快速的查找到数据,但是要在有序数组中插入一个数的话,就必须先找到插入数据项的位置,然后将所有插入位置后面的数据项后移以为,给新的数据腾出空间,同时删除数据也是一样的道理,可以知道这样的话是很浪费时间的,同时另外的一种数据结构——链表,链表的插入和删除很快,我们只需要改变一些引用,但是查找数据就会很慢,因为我们无论查找到什么数据,都需要从链表的第一个数据开始,遍...
原创
发布博客 2018.12.23 ·
1019 阅读 ·
4 点赞 ·
2 评论 ·
9 收藏

数据结构与算法——快速排序详解java

快速排序的思想先从数列中去一个数的基准数(1)取基准数的方式有几种 一种是取数组中的第一个数,第二种是取数组中的最后的一个数 ,第三种是取第一个和最后一个以及数组中间三个数的中间数在分区过程,将这个数大的数全部放到它的右边,小于这个数的数放到它的左边在对左右分区重复第二步,直到各区间只有一个数快速排序有三种实现方式 挖坑法,左右指针法,以及前后指针法左右指针法选取一个关键字做枢...
原创
发布博客 2018.12.17 ·
201 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java算法详解——希尔排序

希尔排序通过加大插入排序元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使数据项能够大幅度移动,当这些数据项过一趟序之后,希尔排序算法减少数据项的间隔再进行排序。依次进行下去,进行这些排序时数据项之间的间隔被称为增量。假设增量为d下面采用图解 就可以知道具体的详解图片采用知乎上面的图片假设数组是第一趟希尔排序,设增量d=5第一趟就有了 五个数组 【11,16,31】,【23,...
原创
发布博客 2018.12.10 ·
492 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

java递归算法(二) ——详解消除递归以及经典示例

消除递归一个算法作为一个递归的方法通常的概念理解是很容易的,但是递归的使用在方法的调用和返回都会有额外的开销,通常情况下,用递归能实现的,用循环都可以实现,而且循环的效率更高,所以实际运用中,把递归算法转换为非递归算法是很有用的,这种转换通常会运用到栈,递归和栈递归和栈有着紧密的联系,而且大多数编译器都是用栈来实现递归的,当调用一个方式时,编译器会把这个方法的所有参数和返回地址都压入栈中,然...
原创
发布博客 2018.12.06 ·
1727 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

java递归算法(一)——详解以及几个经典示例

什么是递归递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递...
原创
发布博客 2018.12.06 ·
33740 阅读 ·
22 点赞 ·
2 评论 ·
128 收藏

java递归算法(一)——详解以及几个经典示例

什么是递归递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递...
原创
发布博客 2018.12.06 ·
33740 阅读 ·
22 点赞 ·
2 评论 ·
128 收藏

java数据结构——双向链表详解

双向链表提供了向前遍历,也可以向后遍历整个链表,其中的问题关键就在每个链结点有两个指向其他链结点的引用。而不是一个,第一个像普通链表一样指向下一个链结点,第二个指向前一个链结点,如图:借用算计算法与结构书中的图片双向链表的缺点是每次插入或者删除一个链结点的时候,要处理四个链结点的引用,而不是两个;两个链接前一个链结点,两个链接后一个链结点,由于多了两个引用,链结点的占用空间也变得大了一些插入...
原创
发布博客 2018.12.04 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

java数据结构——有序链表

在有序链表中,数据时按照关键值排序的,有序链表的删除常常是只局限于删除在链表头部的最大(或最小)链结点。一般,在大多数需要使用有序数组的场合也可以使用有序链表,有序链表优于有序数组的地方是插入的速度(因为元素不需要移动),另外链表可以扩展到全部有效的使用内存,而数组只能局限一个固定的大小,但是,有序链表的实现确实比数组难一些。 public class Link { ...
原创
发布博客 2018.12.04 ·
2158 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

java——单链表

我们都知道数组有一定的缺陷,在无序数组中,搜索效率低下,在有序数组中,存在着插入效率低,而且创建一个数组后,它的大小是不可能改变的。单链表的概述单链表是链表中结构最简单的,一个单链表的节点(node)分两部分,第一部分(data)保存或显示有关节点的信息,另一部分存储了下一个节点的地址,最后一个节点存储地址的部分指向空值。单向链表只可以项一个方向遍历,一般查找一个节点的时候需要从第一个节点开始...
原创
发布博客 2018.11.30 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java——优先级队列详解

简述优先级队列允许访问最小(有时最大)的数据项优先级队列的重要操作是有序地插入新数据项和移除关键字最小的数据项优先级队列是比栈,队列更专用的数据结构在很多的情况下都很有用。像普通队列一样,优先级队列有一个列头和一个列尾,并且也是从对头移除数据项不过在优先级队列中,关键词是有序的数据项插入的时候会按照顺序插入到合适的位置保存队列的顺序举例就好比处理文件的时候,当文件堆积了很久了,...
原创
发布博客 2018.11.30 ·
1246 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

java队列详解

队列的简述队列是一种数据结构,有点类似于栈,只是在队列中第一个插入的数据项会最先被移除,而在栈中,最后插入的数据项最先被移除,队列的作用就像电影院前的人们站成排的一样,第一个进入队尾的人最先拿到票,最后的人最后才能买到票如图- 在计算机的操作系统里,有各种队列在安静的工作着,打印作业在打印队列中等待订单,当键盘敲击时,也有一个存储建入内容的队列,同样,使用文字处理程序敲击一个键,而计算机又...
原创
发布博客 2018.11.29 ·
651 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

java中的栈详解

概念栈是一种只允许在一端进行插入或删除的线性表栈的操作端通常被称为栈顶,另一端被称为栈底栈的插入操作称为进栈,栈删除操作被称为出栈示例就比如同学交作业的时候 ,从第一个交作业一次交到最后,第一个交作业的时候是最下面的,然后一次叠加,直到最后一个学生交完作业,我们可以知道当老师修改作业的时候会从上面一次修改,修改的过程就可以成为出栈存储的结构顺序存储的栈成为顺序栈,链式存储的栈称...
原创
发布博客 2018.11.29 ·
823 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

简单排序之插入排序

插入排序算法仍然需要O(N²)的时间,但是在一般的情况下,它要比冒牌排序快一倍,比选择排序还要快一些,尽管它比冒牌排序还有选择排序都更要麻烦一些,但是它并不复杂,他经常被用在比较排序算法的最后阶段原理将指针指向某个元素,假设该元素的左边都是有序的然后将当前元素的取出来存入临时变量然后从他左边的数从右向左依次比较当比较到它是最左边的数或者遇到比它小的数据时结束循环进入循环时发现小于...
原创
发布博客 2018.11.28 ·
363 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

选择排序算法

选择排序是改进了冒泡排序,将交换次数从O(N²)减少到O(N),不幸的是比较次数还是O(N)²,然而选择排序仍然为打记录量的排序提供了一个非常重要的改进,因为这些大量的记录需要在内存中移动,这就使交换的时间和比较的时间相比起来,交换的时间更为重要(一般来说 java语言中不是这种情况,java只是改变了引用的位置,而实际对象的位置并没有发生改变)选择排序算法的简述通俗的说法就是把数组里面最小的...
原创
发布博客 2018.11.28 ·
129 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

冒泡排序算法

冒泡排序算法运行起来非常的慢,但是在概念上它是排序算法中最简单的,因为冒泡排序算法在刚开始研究排序技术时是一个非常好的算法使用冒泡排序对一个班的学生进行排序如果人近视的像计算机程序一样,只能看到站在他面前两个相邻的同学,在这种困难的情况下,如何对同学进行排序呢?假设n个学生,并且按照从左到右分别编号,从0-n-1。冒泡排序的流程如下,从最左边的同学,也就是0号同学开始比较,最开始比较的...
原创
发布博客 2018.11.27 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二分查找算法

有序数组 与二分查找算法的理解有序数组是指数组里的数是按照规定次序排序的,虽然仍然是一些书,但是排列次序不同,看作是不同的数组同时有序数组的优点会比无序数组快得多但是不好的方面是在插入操作中由于所有靠后的数据都需要移动以腾开空间,所以速度比较慢有序数组和无序数组中的删除操作都很慢,这是因为数据项必须向前移动来填补已删除数据项的洞有序数组在查找频繁的情况下十分有用,但是若插入与删除较为...
原创
发布博客 2018.11.26 ·
1477 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏
加载更多