数据结构
It一zhai男
Android,kotlin,Java,flutter,python,
展开
-
编程题之——KMP算法Java实现
编程题之——KMP算法Java实现有如下问题:有模式字符串mode=”acabaabaabcacaabc”,有个目标字符串target=”abaabcac”,现在要在遍历mode串,看target串是否是目标串的子串。下面用KMP(模式匹配算法)实现。在KMP中,最主要的元素就是next[]数组的实现了。一、next[]数组实现声明:本方法参考了《数据结构(c语言版)》的KMP算法以及网上的一些KM原创 2017-09-02 18:46:33 · 950 阅读 · 0 评论 -
算法题之——连续子数组最大和
Java算法题之——连续子数组最大和题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。代码://时间复杂度为O(n)pub原创 2017-08-29 16:58:30 · 630 阅读 · 0 评论 -
算法题之——最大子串
算法题之——最大子串题目:给定一字符串只包含数字,请写一个算法,找出该字符串中的最长不重复子串(不重复是指子串中每一元素不同于子串中其他元素) 如: “120135435”最长不重复子串为 “201354”代码: 方法一://辅助数组,o(n*n) private static String noRepeatSubString(String str){ int a[] =原创 2017-08-29 16:40:58 · 2000 阅读 · 0 评论 -
剑指offer编程题01
剑指offer编程题01题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析 如下图所示 以红线为对角线,处于对角线上的元素所在行的左侧都比该元素小,处于对角线上的元素所在行的右侧都比该元素大;处于对角线上的元素所在列上方元素都比该元素小,处于对角线上的元素所在列下方原创 2016-12-11 16:40:19 · 454 阅读 · 0 评论 -
Java数据结构——线性表归并
Java数据结构——线性表归并题目:已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。例如,设 LA=(3,5,8,11) LB=(2,6,8,9,11,15,20) 则原创 2016-10-26 12:19:01 · 1460 阅读 · 0 评论 -
Java数据结构——线性单链表的实现
Java数据结构——线性单链表的实现一、描述 线性表的链式存储结构的特点:用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此它没有顺序存储结构所具有的弱点(顺序存储结构插入数据或删除数据都要移动大量的数据),但同时也失去了顺序表可随机存取的优点。单链表的组成为:数据信息和指向下一个节点的指针。二、源码2.1 节点信息Node.javapackage com原创 2016-10-26 16:44:45 · 1387 阅读 · 0 评论 -
Java数据结构——静态链表实现
Java数据结构——静态链表实现一、定义 用数组描述的链表,即称为静态链表。 在C语言中,静态链表的表现形式即为结构体数组,结构体变量包括数据域data和游标CUR。(这里的定义来自于百度百科)二、优点 (1)这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和删除操作时不需移动元素,仅需修改指针,故仍具有链式存储结构的主要优点。 (2)假如有如上的静态链表S中存储这线性表(a原创 2016-10-27 16:25:47 · 1880 阅读 · 0 评论 -
Java数据结构——循环链表的实现
一、描述 循环链表:表中的最后一个节点的指针域指向头结点,整个链表形成一个环。循环链表判空条件:有的说是判断p或p->next是否等于头指针,有的说判断tail是否等于head,有的说判断head是否为空,这其实要根据实际情况来判断。若是不带头结点(这里说带头结点是只一个空的节点做为头结点)循环链表,则可以用判断head是否为空来判断链表是否为空。若是带头结点,则可以根据判断tail是否等于hea原创 2016-10-27 21:22:06 · 7812 阅读 · 1 评论 -
Java数据结构——线性表的顺序存储实现
Java数据结构——线性表的顺序存储实现一、描述 线性结构特点: (1)存在唯一的一个被称作“第一个”的数据元素 (2)存在唯一的一个被称作“最后一个”的数据元素 (3)除第一个之外,集合中的每个数据元素均只有一个前驱 (4)除最后一个之外,集合中的每个数据元素均只有一个后继线性表:是n个数据元素的有限序列。一般有两种存储结构:线性表的顺序存储结构和线性表的链式存储结构。线性表的顺序表示:原创 2016-10-25 20:08:11 · 1617 阅读 · 0 评论