java数据结构之(顺序栈+链式栈)

今天介绍一下数据结构中的栈。栈实现和线性表实现差不多都是有两种实现方式,一种是顺序栈,另一种就是链式栈。下面先介绍一下顺序栈的实现方式:package stack;import java.util.Arrays;/** * @ClassName: ArrayStack * @Description: 顺序栈 * @date 2016年6月2日 下午21:01 * @param …… 阅读全文

java数据结构之线性队列的实现

今天介绍一下数据结构中的线性队列以及线性队列中的缺点,和改善线性队列的循环线性队列操作。队列的定义:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。(1)允许删除的一端称为队头(Front)。(2)允许插入的一端称为队尾(Rear)。(3)当队列中没有元素时称为空队列。(4)队列亦称作先进先出(First In First …… 阅读全文

java数据结构之链式队列的实现

今天介绍一下数据结构中的链式队列,和线形队列相同的是它也有队头front,和队尾rear。规则和线形队列相同也是先进先出(FIFO),队尾进,队头出。下面看具体的链式队列的具体实现案例:package queue;/** * @ClassName: CirQueue * @Description: 链式队列 * @date 2016年6月3日 下午19:55 * @param …… 阅读全文

java数据结构之字符串的模式匹配算法

java中String提供了很多的字符串处理方法其中就包括子串的匹配。今天就来介绍一下字符串中的子串的匹配算法。分为两种:一种为朴素的模式匹配算法(简称BF算法),改进的模式匹配算法(简称KMP算法)。下面首先来介绍一下BF算法的中心思想:这是一种带有回溯的匹配算法,简称BF算法。实现过程是从主串S的第一个字符开始和模式T的第一个字符开始比较,若相等则继续比较二者后续的的字符;否则从主 …… 阅读全文

java数据结构之多维数组实现

多维数组其实就是数组的一种扩展形式。这里介绍几种特殊的多维数组即特殊的矩阵。1.对称矩阵的压缩存储算法:矩阵中的所有数据通过一定的规律存储在一维数组中。其中k=j*(j-1)/2+i-1。其中j和i是矩阵中的j和i而k是一维数组的下标号。2.三角矩阵的压缩存储:矩阵下标i和j的在一维数组k中对应的公式为:当ik=i*(i-1)/2+j-1;当i>jk=n*(n+1) …… 阅读全文

java数据结构凯撒算法的实现

今天介绍一下凯撒密码的实现,凯撒密码核心是基于字符串实现的。凯撒密码中心思想:凯撒密码是一种简单的信息加密方法,通过将信息中的每个字母在字母表中后移动常量k,以实现加密。java的算法实现:package string;public class S_KaiSa { //凯撒密码的实现 public char[] kaiSa(char[] s,int k){ char[] t= …… 阅读全文

java数据结构举例-幻方实现

今天介绍一下数组的一些例子,例如利用数组实现幻方。幻方又叫做魔方阵,幻方阵,游戏规则是在一个n*n的矩阵中填入1到n*n的数字,使得买一行,每一列,每条对角线的累加相等。java算法的实现:package array;public class ArrayHF { //幻方的实现 public int[][] sQueue(int n){ int[][] a=new int[n …… 阅读全文

java数据结构之二叉树的前中后遍历

感谢笃志近思的分享。原文链接地址为:点击打开链接二叉树的定义:二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别 …… 阅读全文