java数据结构之链式队列的实现
今天介绍一下数据结构中的链式队列,和线形队列相同的是它也有队头front,和队尾rear。规则和线形队列相同也是先进先出(FIFO),队尾进,队头出。下面看具体的链式队列的具体实现案例:package queue;/** * @ClassName: CirQueue * @Description: 链式队列 * @date 2016年6月3日 下午19:55 * @param …… 阅读全文
今天介绍一下数据结构中的链式队列,和线形队列相同的是它也有队头front,和队尾rear。规则和线形队列相同也是先进先出(FIFO),队尾进,队头出。下面看具体的链式队列的具体实现案例:package queue;/** * @ClassName: CirQueue * @Description: 链式队列 * @date 2016年6月3日 下午19:55 * @param …… 阅读全文
java中String提供了很多的字符串处理方法其中就包括子串的匹配。今天就来介绍一下字符串中的子串的匹配算法。分为两种:一种为朴素的模式匹配算法(简称BF算法),改进的模式匹配算法(简称KMP算法)。下面首先来介绍一下BF算法的中心思想:这是一种带有回溯的匹配算法,简称BF算法。实现过程是从主串S的第一个字符开始和模式T的第一个字符开始比较,若相等则继续比较二者后续的的字符;否则从主 …… 阅读全文
多维数组其实就是数组的一种扩展形式。这里介绍几种特殊的多维数组即特殊的矩阵。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) …… 阅读全文
今天介绍一下凯撒密码的实现,凯撒密码核心是基于字符串实现的。凯撒密码中心思想:凯撒密码是一种简单的信息加密方法,通过将信息中的每个字母在字母表中后移动常量k,以实现加密。java的算法实现:package string;public class S_KaiSa { //凯撒密码的实现 public char[] kaiSa(char[] s,int k){ char[] t= …… 阅读全文
今天介绍一下数组的一些例子,例如利用数组实现幻方。幻方又叫做魔方阵,幻方阵,游戏规则是在一个n*n的矩阵中填入1到n*n的数字,使得买一行,每一列,每条对角线的累加相等。java算法的实现:package array;public class ArrayHF { //幻方的实现 public int[][] sQueue(int n){ int[][] a=new int[n …… 阅读全文
感谢笃志近思的分享。原文链接地址为:点击打开链接二叉树的定义:二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别 …… 阅读全文
各种排序算法的分析及java实现 排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为 …… 阅读全文
关于字符串匹配KMP算法其实不难,只要理解字符串下一步匹配需要移动的个数就可以了,但是说是这么说,实际理解肯定会有或多或少的问题,要是大家看完之后还是有问题有疑问的同学,可以再文章底部加我~字符串匹配的KMP算法字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,... …… 阅读全文