随笔分类 -  Java数据结构和算法

摘要:1.递归的概念 简单来说:递归就是方法自己调用自己,并且每次调用都会传入不同的变量,同时递归能够解决复杂的代码问题,使代码变得简单。 2.递归的调用机制 下面我们看几个递归的例子,来说明这个问题,lets go 2.1.打印问题 public static void print(int n){ if 阅读全文
posted @ 2020-04-20 20:25 阿福聊编程 阅读(162) 评论(0) 推荐(0)
摘要:1.链表的基本介绍 首先链表是以节点的方式存储数据的,每个节点包含数据域(data),节点域(next),链表的每个节点在计算机中存储的位置是不连续的和随机的,优点就是数据的插入和删除比较好,而查找数据效率不是太好(因为链表无法像静态数据一样随机读取数据,必须按照顺序找到对应的数据为止)。 2.单向 阅读全文
posted @ 2020-04-10 22:57 阿福聊编程 阅读(467) 评论(0) 推荐(0)
摘要:1.二维数组遍历 (1).第一种遍历方式(for循环) //声明一个二维数组 int chessArr[] [] =new int[11][11]; chessArr[1][2]=1; chessArr[2][3]=2; chessArr[3][4]=3; //输出原始的二维数组,遍历二维数组第一种 阅读全文
posted @ 2020-04-02 23:18 阿福聊编程 阅读(254) 评论(0) 推荐(0)
摘要:1.线性结构 (1).特点 数据之间存在一对一的线性关系。 (2).存储结构 顺序存储结构(数组):存储元素是连续的。 链式存储结构(链表):存储元素不一定是连续的,元素节点中存放数据元素的地址信息。 (3).常见结构 数组 ,队列,链表,栈 2.非线性结构 (1).常见结构 二维数组,多维数组,广 阅读全文
posted @ 2020-03-30 21:58 阿福聊编程 阅读(553) 评论(0) 推荐(0)
摘要:1.什么是数组? 数组是一种线性的数据结构.它同一组连续的内存空间,来存储一组具有相同类型的数据结构。 2.代码实现数组的增删改查的功能 /** * 数组实现增删改查的操作 */ public class ArrayListDemo { private Object[] elementData; p 阅读全文
posted @ 2019-10-10 23:21 阿福聊编程 阅读(196) 评论(0) 推荐(0)
摘要:1.什么是队列 队列是有序列表,遵循先入先出的原则,可以用数组和链表来实现,也属于抽象数据类型(ADT),加入和删除的操作发生在不同的两端,。队列的概念就好比乘火车时排队买票,先到的人先买到票,买完后就从前端离开,二队伍的后端又陆续有新的乘客加入。 2.队列的分类及实现 2.1 数组实现 2.1.1 阅读全文
posted @ 2019-08-12 14:24 阿福聊编程 阅读(238) 评论(0) 推荐(0)
摘要:1.栈的基本概念 栈是一种抽象型数据结构,主要要两个特点:1.只能从栈顶端访问数据(获取和添加数据),2.数据的访问规则遵循 “先进后出” 的原则。如下图所示: 2.栈的实现 2.1.数组实现 package stack; /** * 数组实现栈的操作 */ public class StackDe 阅读全文
posted @ 2019-08-12 14:14 阿福聊编程 阅读(192) 评论(0) 推荐(0)