11 2021 档案
摘要:输入框监听事件 package GUI; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TextFiledDemon { public
阅读全文
摘要:一、哈希表介绍 什么是哈希表? 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 哈希表有什么
阅读全文
摘要:堆 一、堆的基本介绍 1.堆的概念: 如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki ⇐ K2i+1 且 Ki<=K2i+2 ,则称为小堆(或大堆)。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫
阅读全文
摘要:Trie(字典树) [字典树](Trie Tree) 是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串)。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 ——百度 · 百科 理解son[] []:
阅读全文
摘要:DFS与BFS dfs又称深度优先搜索,即一路走到底(一个执着的人),当走到底(到达叶子节点)时要回溯。注:回溯不是直接回到头,而是边回去边看,能不能再往下走,只有当我们明确当前节点所有的路都走不通时才回退一步! BFS又称广度优先搜索,即一层一层的搜索,只有当每一层搜索完之后才搜索下一层(一个稳重
阅读全文
摘要:一、BF算法 Brute-Force简称BF算法,也称单匹配算法。采用穷举的思路。BF是暴力的意思。 算法思路:从T的每一个字符开始依次与P的字符进行匹配。 BF算法匹配过程: 【代码实现】 分析: 要完成对于所有字符的匹配工作,可以遍历母串,并逐个与子串比较,若相同,则字串匹配位后移,若不成功,回
阅读全文
摘要:单调栈与单调队列 单调栈就是栈内元素满足单调性的栈结构。此处的单调性分为单调递增与单调递减 如何维护一个单调栈: **单调递增栈:**在保持栈内元素单调递增的前提下(如果栈顶元素大于要入栈的元素,将将其弹出),将新元素入栈。 **单调递减栈:**在保持栈内元素单调递减的前提下(如果栈顶元素小于要入栈
阅读全文
摘要:经典排序算法 选择排序 算法思想: A.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 B.从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾 C.以此类推,直到所有元素均排序完毕 【参考代码】 #include<iostream> #include<algorithm>
阅读全文
摘要:双指针算法 什么是双指针 严格的来说,双指针只能说是是算法中的一种技巧。 双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。最常见的双指针算法有两种:一种是,在一个序列里边,用两个指针维护一段区
阅读全文
摘要:区间合并 给定 n 个区间 [li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6] 。 输入格式 第一行包含整数n。 接下来n行,每行包含两个整数l和r。 输出格式 共一行,包含一个
阅读全文
摘要:二分法 如果序列是有序的,就可以通过二分查找快速定位所需要的数据。除此之外,二分思想还能求出可行解的最值问题,比如想知道某款手机最高能多少楼高度摔下来而不会摔坏,使用二分的方式可以用最小实验次数就能得到结果(当然你需要准备好几个样品)。 整数二分 单调性与二分的关系:有单调性一定可以二分,用二分不一
阅读全文
摘要:数组模拟栈与队列 数组模拟栈 栈特点:后进先出 模板 // tt表示栈顶 int stk[N], tt = 0; // 向栈顶插入一个数 stk[ ++ tt] = x; // 从栈顶弹出一个数 tt -- ; // 栈顶的值 stk[tt]; // 判断栈是否为空 if (tt > 0) { }
阅读全文
摘要:数组模拟双链表 通过前面的学习我们知道单链表是单个指针指向操作,那么通过类比我们可以把指针设定为两个,并且让它们分别指向前后数据,这就是“双向链表”。使用这种链表,不仅可以从前往后, 还可以从后往前遍历数据,十分方便。 1.使用数组模拟双链表 // e[i] 表示节点i的值 // l[i] 指向当前
阅读全文