自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅汐

大数据技术交流与分享,内有大量大数据干货 1群:126181630 2群:663052251 3群:671914634 4群:707635769 5群:545916944

  • 博客(12)
  • 收藏
  • 关注

原创 MySQL之auto_increment问题记录

概述在数据库应用中,经常用到自动递增的唯一编号来标识记录。在MySQL中,可通过数据列的auto_increment属性来自动生成。可在建表时可用“auto_increment=n”选项来指定一个自增的初始值。可用“alter table table_name auto_increment=n”命令来重设自增的起始值,当然在设置的时候MySQL会取数据表中auto_increment列的最大值...

2020-01-30 11:54:48 49330

原创 串的模式匹配算法(朴素、KMP、改进算法)Java

1.朴素的模式匹配算法  为主串和子串分别定义指针i,j。    (1)当 i 和 j 位置上的字母相同时,两个指针都指向下一个位置继续比较;    (2)当 i 和 j 位置上的字母不同时,i 退回上次匹配首位的下一位,j 则返回子串的首位。(注:该图从下标为1开始 )实现程序:/** * 朴素的模式匹配算法 * 说明:下标从0开始,与书稍有不同,但原理一样 ...

2020-01-04 14:02:03 24505

原创 循环队列和链队列(Java)

队列:只允许在一端进行插入操作,而在另一端进行删除操作的线性表。1.循环队列  队列的顺序储存结构:用数组存储队列,引入front指针指向队头元素,rear指针指向队尾元素的下一个位置,当front=rear时,为空队列,结构如下图所示。   当执行入队操作时,若数组尾部已满,而数组前部因有元素出队而有空位时,我们把新插入的元素从头开始入队,这样就类似于头尾相接的结构。  ...

2020-01-04 13:59:02 24323

原创 栈的顺序与链式存储(Java)

栈:限定仅在表尾进行插入和删除操作的线性表。栈的插入(进栈)和删除(出栈)操作如下图所示。  1.栈的顺序存储结构  用数组存放数据,top变量来指示栈顶元素在数组中的位置(栈顶指针)。一个长度为5的栈的示意图如下:实现程序:/** * 栈的顺序储存结构 * * 问题:构造器中,泛型数组创建是否有更好的方法? * */public class S...

2020-01-04 13:55:49 24128

原创 线性表之双向链表(Java)

在每个数据结点中都有两个指针,分别指向直接后继和直接前驱,这样的链表称为双向链表。双向链表的结构如图所示:查找元素可以根据元素的位置,分别沿正向和反向查找。双向链表实现程序:public class DuLinkList<E> { private Node<E> head; private int count; /**...

2020-01-04 13:51:35 23908

原创 线性表之循环链表(Java)

将单链表终端结点的指针域由空指针改为指向头结点,形成一个环,这种头尾相接的单链表称为循环列表。循环列表的结构如下图所示:循环链表的优点:可以从任意一个结点出发,遍历所有结点。将两个具有尾指针的循环链表合并成一个表非常方便,如下图所示:合并后:Java程序代码:Node p=rearA.next;rearA.next=rearB.next.next;Node...

2020-01-04 13:46:59 12145

原创 线性表之静态链表(Java)

用数组描述的链表,称为静态链表。数组元素由两个数据域data和cur组成:data存放数据元素;cur相当于单链表中的next指针,称为游标。某一静态链表结构如图所示(游标存放内容可参考程序中的说明1):静态链表的优缺点:静态链表实现程序:/** * 说明: * 1.数组第一个元素的cur为备用链表第一个结点下标, * 数组最后一个元素的cur为第一个有数据...

2020-01-04 13:45:51 4612

原创 线性表之单链表 (Java)

每个结点中只包含一个指针域的链表,称为单链表。单链表的结构如图所示:单链表与顺序存储结构的对比:实现程序:/** * 说明: * 1.《大话数据结构》中没有线性表的长度,但提到可以存储于头节点的数据域中。 * 本程序的线性表长度存放于count变量中,线性表长度可以使程序比较方便。 * 2.程序中,第i个位置代表第i个结点,头结点属于第0个结点 * 3.因为...

2020-01-04 13:43:16 236

原创 线性表之顺序存储结构(Java)

顺序存储结构指的是用一段地址连续的存储单元一次存储线性表的数据元素,一般用一维数组来实现。书中的线性表抽象数据类型定义如下(第45页):实现程序:package SqList; /** * * 几个注意点: * 1.初始化时,应考虑数组大小为负的情况 * 2.在各操作中,当涉及到位置i时,都应考虑i位置不合理的情况 * 3.插入操作中,需考虑线性表已满的情况 ...

2020-01-04 13:39:38 193

原创 二叉排序树

前言数据结构中,线性表分为无序线性表和有序线性表。无序线性表的数据是杂乱无序的,所以在插入和删除时,没有什么必须遵守的规则,可以插入在数据尾部或者删除在数据尾部。但是在查找的时候,需要遍历整个数据表,导致无序线性表的查找效率低。有序线性表的数据则相反,查找数据时的时候因为数据是有序的,可以用二分法、插值法、斐波那契查找法来实现。但是,当进行插入和删除操作时,需要维护表中数据的有序性,会耗费大量...

2020-01-03 23:15:03 297

原创 霍夫曼树

前言霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化。重要概念路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。图2.1图2.1所示二叉树结点A到结点D的路径长度为2,结点A到达结点C的路径长度为1。...

2020-01-03 23:08:22 1982

原创 线索二叉树

线索二叉树产生背景现有一棵结点数目为n的二叉树,采用二叉链表的形式存储。对于每个结点均有指向左右孩子的两个指针域,而结点为n的二叉树一共有n-1条有效分支路径。那么,则二叉链表中存在2n-(n-1)=n+1个空指针域。那么,这些空指针造成了空间浪费。例如:图2.1所示一棵二叉树一共有10个结点,空指针^有11个。图2.1此外,当对二叉树进行中序遍历时可以得到二叉树的中序序...

2020-01-03 23:00:35 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除