Java数据结构和算法
justLym
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java排序算法基数排序(桶排序)
概述Java中排序算法是非常重要的一部分,这里简单分析下基数排序(桶排序)的实现思路及其代码实现。常见排序算法时间复杂度表排序算法平均时间复杂度最差情形稳定度额外空间备注冒泡排序O(n^2)O(n^2)稳定O(1)n小时较好插入排序O(n^2)O(n^2)稳定O(1)n小时较好选择排序O(n^2)O(n^2)不稳定O(1)...原创 2020-03-02 19:23:10 · 538 阅读 · 10 评论 -
插入排序和希尔排序
概述Java中排序算法是非常重要的一部分,这里简单分析下插入排序和希尔排序的实现思路及其代码实现。常见排序算法时间复杂度表排序算法平均时间复杂度最差情形稳定度额外空间备注冒泡排序O(n^2)O(n^2)稳定O(1)n小时较好插入排序O(n^2)O(n^2)稳定O(1)n小时较好选择排序O(n^2)O(n^2)不稳定O(1)...原创 2020-03-01 17:00:54 · 1331 阅读 · 11 评论 -
冒泡排序和快速排序
概述Java中排序算法是非常重要的一部分,这里简单分析下冒泡排序和快速排序的实现思路及其代码实现。常见排序算法时间复杂度表排序法平均时间复杂度最差情形稳定度额外空间备注冒泡排序O(n^2)O(n^2)稳定O(1)n小时较好选择排序O(n^2)O(n^2)不稳定O(1)n小时较好插入排序O(n^2)O(n^2)稳定O(1)大...原创 2020-02-29 16:36:53 · 3312 阅读 · 15 评论 -
逆波兰表达式实现简单计算器功能
问题概述我们完成一个逆波兰计算器,要求完成如下任务输入一个中缀表达式,转成后缀表达式(逆波兰表达式),使用stack计算结果要求支持小括号,和多位整数,我们暂时不考虑小数问题逆波兰表达式书写逆波兰表达式(Reverse Polish notation, RPN,或逆波兰记法),也叫后缀表达式,运算符写在数值的后面为什么要使用逆波兰表达式呢实现逆波兰表达式其实并不是很难,但是为什么...原创 2020-02-28 14:00:04 · 1287 阅读 · 20 评论 -
字符串匹配KMP算法实现
应用场景已知有一个字符串str1 = "BBCABCDABABCDABCDBDE"和另外一个字符串str2 = "ABCDABD"现在需要你来判断str1是否包含str2,如果包含返回一个true,不存在返回一个false解决办法暴力匹配法KMP算法匹配暴力匹配法在遇到这种匹配问题,我们一般想到的都是这种暴力匹配法,下面简单讲解一下他的实现方法。创建两个变量i,j并且分...原创 2020-02-27 19:49:00 · 1051 阅读 · 0 评论 -
Java数据结构 -- 链表
生活中的链表链表其实是一个一环扣一环的东西,最简单明了的就是我们的链子了,它就是一个一环扣一环的东西链表介绍链表在内存中的图解可以用下图来表示链表是以节点的方式存储,是一个链式存储。每个节点都有一个data域,和一个next域。链表的内存空间可能是不连续的。链表有带头节点和不带头节点两种,具体使用哪一种视情况而定。单链表的代码书写单链表的数据模型单链表书写这里我们...原创 2020-02-22 16:41:19 · 584 阅读 · 5 评论 -
Java数据结构---队列
首先我们来看一个队列在实际生活中的场景我们在银行办理业务,是不是会看到这样一种场景,有一队人正整齐的排着队,在窗口前,等待办理业务,其实这就是队列在实际应用中的一个体现。队列的特点队列的是Java数据结构中的一种,它的一个有序的 列表 ,可以使用数组或者链表来实现。遵循先进先出的原则,先存入的数据会先被取出来,后存入的数据会后取出来队列的形式单向队列环形队列数组模拟单向队列...原创 2020-02-10 22:34:55 · 614 阅读 · 0 评论 -
Java数据结构----稀疏数组
我们先看一个实际的需求:编写一个五子棋盘程序,并存在退出后存盘功能和续上盘的功能。解决方案方案一:将这个棋盘模拟成一个二维数组,将数据存储起来。方案二:使用稀疏数组,将棋盘存储起来,并达到一个数据压缩的效果。解决方案优劣势分析方案一:优势: 简单方便,代码简单。劣势: 造成数据冗余,有很多不必要的数据存储下来了。方案二:优势:节省储存空间劣势:代码稍微复杂一些...原创 2020-02-09 12:34:40 · 540 阅读 · 0 评论
分享