03 2021 档案
摘要:1.链表(Link List)介绍: 链表是有序的列表,内存图中存储如下(图1.1) 图1.1 链表是以节点的方式来存储,(链表存储) 每个节点包含data域,next域:指向下一个节点 如图1.1.发现链表的各个节点不一定是连续存储 链表分:带头节点的链表和,没有头节点的链表 单链表(带头节点)逻
阅读全文
摘要:package com.atAlgorithmTest; /** * @Author: lisongtao * @Date: 2021/3/28 15:53 */ import java.io.*; import java.util.ArrayList; /** * @ClassName Spars
阅读全文
摘要:1.数组模拟环形队列: 对之前的(数组模拟队列)进行优化,充分利用数组,因此将数组看做一个环形(通过取模的方式来实现) 1.1.思路: 首先对front变量的含义做一个调整:front初始值为0,就是指向队列的第一个元素,也就是 arr[front]就是第一个元素 rear的含义做一个调整:rear
阅读全文
摘要:1.队列使用场景(银行排队案例): 图1.1 1.1.队列介绍: 队列是一种特殊的现行列表,他只允许在表的前端(front)进行删除操作,而表的后端(rear)进行插入操作。 当进行插入操作的端称为队尾,进行删除操作的端称为队头,当队列中没有元素时,称为空队列。 在队列这种数据结构中个,最先插入的元
阅读全文
摘要:需求:将稀疏数组保存到磁盘上,读取磁盘的稀疏数组进行恢复(五子棋游戏) 1.(问题)拿五子棋游戏举例,如何通过稀疏数组来表示? 五子棋,棋盘该如何表示? 棋子(黑/白),该如何表示? 如果游戏中途不想玩了需要保存棋局,该怎么办? 如果想要恢复棋局,又该怎么办? 2.问题分析: 分析一下,我们可以用1
阅读全文
摘要:稀疏数组(sparsearray)与队列: 一个实际的基本需求: 编写一个五子棋程序中,有存盘退出和续上盘的功能 图1.1 1.问题分析: 因为该二维数组的最多值默认为0,因此有很多没有意义的数据,(使用稀疏数组) 2.稀疏数组基本介绍: 当一个数组中大部分元素为0,或者为同一个值得数组时,可以使用
阅读全文
摘要:一.分治算法 1.分治算法介绍:分治法是一种很重要的算法,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并 2.分治算法求解的经典问题:二分搜索 大整数乘法 棋盘覆盖 合并
阅读全文
摘要:一.暴力匹配算法 1.字符串匹配是我们在编程中常见的问题,其中从一个字符串(主串)中检测出另一个字符串(模式串)是一个非常经典的问题,当提及到这个问题时我们首先想到的算法可能就是暴力匹配,下面的动图就展示了暴力匹配的流程 *上图中箭头指向的字符都为蓝色时代表二者匹配,都为黑色时代表二者不匹配,红色则
阅读全文

浙公网安备 33010602011771号