当前位置: 首页 > news >正文

网站版块策划百度地图关键词排名优化

网站版块策划,百度地图关键词排名优化,咨询在线客服,在线网页代理极光链表 用数组模拟链表,看该链表结构,有几个域则用几个数组分别存储 单链表是只知道下一个元素位置,双链表还知道上一个链表位置 单链表 双向链表 左移右移 栈 模拟栈 判断括号序列 队列 模拟队列 递归 集合和哈希 集合就是哈希表 哈希表的实现…

链表

用数组模拟链表,看该链表结构,有几个域则用几个数组分别存储
单链表是只知道下一个元素位置,双链表还知道上一个链表位置

单链表

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

双向链表

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

左移右移

请添加图片描述
请添加图片描述
请添加图片描述

模拟栈

请添加图片描述
请添加图片描述

判断括号序列

请添加图片描述
请添加图片描述

队列

请添加图片描述

模拟队列

请添加图片描述
请添加图片描述
请添加图片描述

递归

请添加图片描述

请添加图片描述

集合和哈希

请添加图片描述
请添加图片描述

集合就是哈希表

哈希表的实现

请添加图片描述

N要设置为其数据的2倍多一些, 取模大于那个数就可以了。
q<=10的五次方,所以取模mod大于这个数就可以了,N数组设为其2倍多10.
记住
哈希表解决查询x是否在集合中出现过以及插入。选择合适的方法插入。

Java提供的Set集合

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Map哈希表(键值对,按键查找)

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

离散化

请添加图片描述
请添加图片描述

  • 首先是有序,且不重复,所以使用TreeMap
  • 它存入后就是自动排序
  • 先把所有数读入放在a数组,再把a数组存入mp中,mp中的就是排好序的,而a是原数组。
  • 因为mp中的是按自然顺序排好的,那么从头到尾遍历就是从小到大,此时让其数值和排名构成键值对
  • 数值为键,最后将原数组顺序a的数值去mp中通过get方法获取对应值也就是排名替代原数组。
  • 最后就是最终答案

优先队列

优先队列的使用

请添加图片描述
请添加图片描述
请添加图片描述

堆排序(很重要,一年一次)

请添加图片描述
最后要输出一个换行符

multiset实现优先队列

可排序有删除操作,那应该用这个,因为map中删除的复杂度为0(n)请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
这段代码定义了一个名为 Multiset 的类,该类使用 TreeMap 来实现一个多集合(multiset),其中元素可以重复。以下是代码的详细解释:

代码解释
声明变量:

TreeMap<T, Integer> multiset;
int len = 0;

TreeMap<T, Integer> multiset;: 声明一个 TreeMap 对象 multiset,键类型为 T(泛型类型),值类型为 Integer。这个 TreeMap 用于存储多集合中的元素及其出现次数。泛型类型根据传入的数据的类型来确定,没有严格的要求。
int len = 0;: 声明一个整型变量 len,初始化为 0,用于记录多集合中元素的总数。
无参构造函数:

Multiset() {multiset = new TreeMap<>();
}

这个构造函数创建一个新的 TreeMap 实例,并将其赋值给 multiset 变量。默认情况下,TreeMap 使用自然顺序对键进行排序。(默认是升序)
带比较器的构造函数:

Multiset(Comparator cmp) {multiset = new TreeMap<>(cmp);
}

这个构造函数接受一个 Comparator 对象 cmp 作为参数,并创建一个新的 TreeMap 实例,使用指定的比较器对键进行排序。
代码功能总结
多集合(Multiset): 多集合是一种数据结构,允许元素重复出现,并且每个元素都有一个计数表示其出现次数。
使用 TreeMap: TreeMap 是一种有序映射,它保证了键的有序性,并且提供了高效的插入、删除和查找操作。
构造函数: 提供了两种构造函数,一种是默认构造函数,使用自然顺序对键进行排序;另一种是带比较器的构造函数,允许用户自定义键的排序方式。
示例用法
假设你有一个 Multiset 类,你可以这样使用它:

public class Main {public static void main(String[] args) {// 创建一个默认的 MultisetMultiset<String> ms1 = new Multiset<>();ms1.add("apple");ms1.add("banana");ms1.add("apple");// 创建一个带有自定义比较器的 MultisetComparator<String> cmp = (s1, s2) -> s2.compareTo(s1); // 逆序比较Multiset<String> ms2 = new Multiset<>(cmp);ms2.add("apple");ms2.add("banana");ms2.add("apple");System.out.println(ms1); // 输出:{apple=2, banana=1}System.out.println(ms2); // 输出:{banana=1, apple=2} (因为比较器是逆序的)}
}

通过这种方式,你可以根据需要创建不同类型的多集合,并控制元素的排序方式。

这段代码定义了一个Comparator类型的比较器,用于对字符串进行逆序排序(从Z到A)。让我们拆解一下这个表达式来理解它的含义:

Comparator<String> cmp = (s1, s2) -> s2.compareTo(s1);

语法解释
Comparator: 这是Java中的一个泛型接口,用于定义如何比较两个对象以便进行排序。在这里,它专门用于比较String类型的对象。
cmp: 这是你给这个特定的Comparator实例起的名字。
(s1, s2): 这部分定义了lambda表达式的参数列表。在本例中,有两个参数s1和s2,它们都是String类型的对象。Lambda表达式提供了一种简洁的方式来实现只有一个抽象方法的接口(在这种情况下,是Comparator接口的compare方法)。
->: Lambda表达式中的箭头符号,用来分隔参数列表和表达式体。
s2.compareTo(s1): 这是lambda表达式的主体部分,它定义了比较逻辑。这里使用了String类自带的compareTo方法来进行比较,但与常规的升序排列不同的是,这里是s2.compareTo(s1)而不是s1.compareTo(s2),这就导致了降序排列的结果。
工作原理
通常情况下,String的compareTo方法按照字典顺序比较两个字符串,返回:

小于0的数:如果调用该方法的字符串小于参数字符串(按字典顺序);
等于0的数:如果两个字符串相等;
大于0的数:如果调用该方法的字符串大于参数字符串。
在标准的升序排序中,你会直接使用s1.compareTo(s2)。然而,在这里,通过交换参数位置为s2.compareTo(s1),比较逻辑被反转了,从而实现了降序排序。

Multiset的代码实现

请添加图片描述
getOrDefault表示若是有的话那么就返回该键对应的值,若是没有那么就返回0
在这里实现重复存储其实就是改变键值对里面值的数量,重复多少那么数量改为多少请添加图片描述
请添加图片描述
请添加图片描述

单调栈

除了维护栈的后进先出,还要维护从栈顶到栈底的单调性
请添加图片描述

数的左右最值问题

请添加图片描述
维护的是下标序列,不是其数组中确切的值

  • 因为维护的是下标序列,所以天然单调栈就满足是最左边
  • 因为是单调栈,在后续判断中,当前元素称为新的栈顶,下面的数都比当前元素大,若当前元素比现在栈顶元素大,那么之前弹出的元素都要小于当前元素,所以弹出没有影响。
    请添加图片描述
    请添加图片描述

左右最值分为四种情况:左右只需要改变遍历顺序就可以,比其大或小则改变单调性即可

请添加图片描述

请添加图片描述
请添加图片描述

单调队列

滑动窗口最值问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

并查集

不相交集合的并问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

例题:连通块中点的数量

请添加图片描述
请添加图片描述

树状数组

单点修改,区间求和问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

http://www.zhongyajixie.com/news/19728.html

相关文章:

  • h5自适应网站建设百度游戏中心官网
  • 网站地址地图怎么做广告加盟
  • 杭州电商网站开发厦门百度seo排名
  • html编辑器的程序怎么设置搜索seo神器
  • 成都网络公司河北网站seo地址
  • 设计网站的软件seo程序
  • asp.net网站建设教程搜索引擎优化工作
  • 做网站需要哪些技术制造企业网站建设
  • wordpress 导出菜单苏州吴中区seo关键词优化排名
  • 如何设计网站布局seo怎么才能做好
  • 优狐网站建设企业营销策划合同
  • aspcms三合一网站源码青岛网站推广系统
  • 尼乐清网站建设随州网络推广
  • 桂林市区旅游景点seo是付费还是免费推广
  • 重庆本地网站有哪些成都专业网站推广公司
  • phpcms手机网站怎么做谷歌seo 优化
  • PHP网站建设计划书有没有专门做营销的公司
  • java购物网站开发流程百度推广后台
  • 泰州做兼职的网站武汉百度推广seo
  • 广州网站建设工作室招聘十八大禁用黄app入口
  • 湛江网站建设的详细过程百度seo排名优化公司
  • 好听罕见绝不重名的公司名称西青seo
  • 公司网站工商备案怎么做长沙seo管理
  • 响应式网站模板下载免费it培训学校哪家好
  • 哪个网站做线上家教比较好会计培训班要多少钱一般要学多久
  • 建筑公司企业如何成功seo的作用主要有
  • 网站seo诊断评分45沈阳seo关键词排名
  • 建设网站计入什么科目惠州网络营销
  • 2023年每日少儿新闻aso优化师
  • cetos做网站好口碑关键词优化