
数据结构
tyeerth
现在很菜 以后会更菜
展开
-
Lambda表达式的简单使用
Lambda表达式的简单使用文章目录Lambda表达式的简单使用1、介绍2、最常用的使用场景(接口式编程)2.1原始方法2.2改进方式3、lambda表达式的重要特征1、介绍Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。使用方法(parameters) -> expression或(parameters) -&原创 2020-09-05 09:41:32 · 150 阅读 · 0 评论 -
回溯算法思想与分析(八皇后问题)
回溯算法思想与分析(八皇后问题)文章目录回溯算法思想与分析(八皇后问题)1、思想2、八皇后问题2.1问题描述:2.2解决思路2.3求解思路2.4代码1、思想回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就**“回溯”**返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点原创 2020-08-19 16:20:34 · 998 阅读 · 0 评论 -
分治思想分析与举例
分治算法分析文章目录分治算法分析1、思想2、什么样的问题适合分治法3、分治思想的经典运用(归并排序)3.1归并排序代码3.2图解1、思想字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并2、什么样的问题适合分治法问题的规模缩小到一定的规模就可以较容易地解决。问题可以分解为若干个规模较小的模式相同的子问题,即该问题具有最优子结构性质。合并问题分解出的子问题的解可以得原创 2020-08-19 10:09:00 · 375 阅读 · 0 评论 -
字符串匹配算法-----RK算法(利用哈希)
RK算法分析与详解1、原理分析利用哈希对主串依次进行求哈希值,并与子串的哈希值进行比较,相同则说明相匹配但是要排除哈希冲突的可能性(通过匹配来验证)其实就是在主串中依次计算字串长度的哈希值并进行比较2、Java实现/** * BF算法的升级版,基于哈希算法 * @author tyeerth * @date 2020/8/12 - 10:12 */public class RK { /** * * @param string 模式串(字串)原创 2020-08-12 11:17:30 · 589 阅读 · 0 评论 -
字符串匹配算法------------BF(暴风)算法分析
BF(暴风)算法文章目录BF(暴风)算法1、原理2、补充3、算法思路4、Java实现1、原理 BF算法,朴素匹配算法。这一种字符串匹配方式比较暴力,但是相对来说比较的简单、易懂,但对的性能不高。2、补充Java中常用的字符串方法,indexOf(),startWith(),endWith()。BF,RK,BM,KMP算法。3、算法思路 在主串钟,检查起始位置分别是 0、1、2 …… n-m 且长度为m的n-m+1个子串,检查有没有跟模式串想匹配的。4、Java实现/**原创 2020-08-12 10:11:15 · 511 阅读 · 0 评论 -
ArrayList源码分析(自动扩容机制)
ArrayList源码分析1、介绍 ArrayList底层是采用数组来进行数据的存储,并且提供了相关的方法进行增删改查。支持动态扩容,数组在本省的定义过程中需要指定大小。当数据大小超过数组分配的内存空间的时候,就需要更大的内存空间。使用ArrayList时,会自动将空间扩容为1.5倍大小,并自动进行内存申请和数据迁移。2、自动扩容机制分析2.1 创建源程序public class ArrayListLearn { public static void main(String[原创 2020-08-03 10:55:25 · 360 阅读 · 0 评论 -
顺序栈的基本操作
顺序栈的基本操作1、定义: 作为一种限定性线性表,是将线性表的插入和删除运算限制为仅在表的一端进行。(先进后出)2、栈的存储结构。顺序栈:用顺序储存结构实现的栈。是利用一组地址连续的储存单元依次存放自栈底到栈顶的数据元素,同时由于栈的操作的特殊性,还必须附设一个位置的指针top来动态的指示栈顶元素在顺序栈中的位置。3、结构示意图4、*&解释&是C++中的引...原创 2020-04-20 08:23:37 · 3636 阅读 · 0 评论 -
数据结构中单链表的基本操作
单链表的基本操作文章目录单链表的基本操作一、定义数据结构定义:二、基本操作。1、初始化线性表2、判断线性表是否为空表3、销毁线性表4、求线性表的长度5、链表中插入数据6、删除指定位置上的元素7、按元素值进行查找8、找元素第一次出现的位置9、求指定位置上的元素值10、打印单链表11、头插法创建单链表(输出与数组顺序相反)12、尾插法创建单链表(输出与数组顺序相同)三、常用算法。1、单链表的排序(采...原创 2020-04-06 18:17:02 · 2839 阅读 · 0 评论 -
数据结构中顺序表的基本操作
数据结构:顺序表的基本操作文章目录数据结构:顺序表的基本操作1、线性表的定义:2、顺序表的定义3、C语言定义线性表的顺序存储结构4、顺序表的CRUD(1)顺序表的初始化(2)求顺序表的长度(3)按序号进行查找(4)在指定的位置上插入指定元素(5)删除指定位置上的数(6)按内容查找到元素的位置(7)清空顺序表(8)判断顺序表是否为空(9)打印顺序表(10)创建顺序表,并利用数组赋值。5、主函数来实...原创 2020-03-22 12:36:42 · 1302 阅读 · 0 评论