数据结构
木头的木
这个作者很懒,什么都没留下…
展开
-
查找算法简述及基本运用
在Java学习过程中,我们经常会运用到四种查询算法: 顺序查找 二分/折半查找 插值查找 斐波那契查找 现在笔者将会对这四种算法进行简单叙述。 一、线性查找算法 基本思路:逐一比对,发现有相同值,就返回下标。 适用范围:有序数组+无序数组 代码示例: public class SeqSearch { public static void main(String[] args) { int arr[] = {1,2,5,6,8,4,3}; int index =原创 2020-06-27 15:59:51 · 1005 阅读 · 0 评论 -
递归的基本运用与实践
一、递归的概念 简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量。递归有利于编程者解决复杂的问题,同时可以让代码变得简洁。 二、递归调用机制 入门案例: 累加代码实现: public static int accumulation(int n){ return n > 1 ? n+accumulation(n-1):1; } 阶乘代码实现: publ...原创 2020-04-15 20:28:47 · 326 阅读 · 1 评论 -
单链表面试实例运用
在之前的博客中已经通过编码实现了链表的基本结构,此处将会以面试真题进行进一步运用。 面试题1 查找单链表中的倒数第k个结点: 思路:获取链表第H.getLength() - k + 1个节点(H为链表) 判断链表是否为空 判断数值是否越界 通过while得到第H.getLength() - k + 1个节点 代码实现: public static Object getNumber(LinkLi...原创 2020-04-15 19:52:16 · 113 阅读 · 0 评论 -
稀疏数组简单介绍及其处理方法的实现
1.定义 稀疏矩阵可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组。如下图所示: 2.稀疏数组的处理方法 记录数组一共有几行几列,有多少个不同的值。 把具有不同值得元素得行列及值记录在一个小规模的数组中,从而缩小程序得规模。 3.应用实例 3.1 二维数组转稀疏数组 遍历原始的二维数组,得到有效数据的个数 根据个数就可以创建稀疏数组 将二维数组的有效数据存...原创 2020-04-07 19:01:42 · 954 阅读 · 0 评论 -
Java List、Set集合的简单介绍与运用
这里将简单介绍Collection中的常用几个子类(java.util.List集合、java.util.Set集合)。 一、List接口 1.1 List接口简介 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过...翻译 2020-03-22 10:15:59 · 314 阅读 · 1 评论 -
Java 常见的数据结构
数据存储的常用结构有:栈、队列、数组、链表和红黑树。此处将进行简单介绍: 栈 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。基本结构如下图所示: 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,...原创 2020-03-22 09:52:47 · 379 阅读 · 1 评论 -
java 队列的实现
1.循环顺序队列 1.1接口 package com.QueueArray.Inter; public interface QueueArrayInter { public boolean isEmpty(); public boolean isFull(); public void Enqueue(Object obj); public Object Dequeue()...原创 2019-11-13 11:35:00 · 263 阅读 · 0 评论 -
java 栈的实现
1.顺序栈的实现 1.1接口 package com.stack.inter; public interface OrderStack { public boolean isEmpty(); public boolean isFull(); public boolean Push(Object obj); public Object pop(); public Ob...原创 2019-11-13 11:29:16 · 352 阅读 · 1 评论 -
java 实现顺序表结构
通过java实现顺序表 1.接口类 package com.listArray.inter; public interface List { public boolean isEmpty(); public void insert(int index,Object element) throws Exception; public Object remove (int i) t...原创 2019-10-28 10:10:54 · 845 阅读 · 2 评论 -
java 链表的实现
1.单链表的实现 1.1 接口 package com.LinkList.inter; public interface List { public boolean isEmpty() throws Exception; public int getLength() throws Exception; public void addNodeByIndex(int ...原创 2019-10-28 10:17:42 · 139 阅读 · 0 评论