- Java 集合以 ArrayList、LinkedList、HashSet、TreeSet 和 HashMap 等组件为核心,构筑了强大而灵活的数据结构体系。这些组件精心设计以满足不同的性能和功能需求,如 ArrayList 的动态数组支持快速随机访问,而 LinkedList 的双向链表结构则擅长于频繁的插入和删除操作。HashSet 基于哈希表提供高效的元素查找,TreeSet 则通过红黑树维 Java 集合以 ArrayList、LinkedList、HashSet、TreeSet 和 HashMap 等组件为核心,构筑了强大而灵活的数据结构体系。这些组件精心设计以满足不同的性能和功能需求,如 ArrayList 的动态数组支持快速随机访问,而 LinkedList 的双向链表结构则擅长于频繁的插入和删除操作。HashSet 基于哈希表提供高效的元素查找,TreeSet 则通过红黑树维
- 1. 后端传参重命名(后端参数映射)某些特殊情况下,前端传递的参数 key 和我们后端接收的 key 可以不一致,比如前端传了一个 time 给后端,而后端是使用 createtime 字段来接收的,这样就会出现参数接收不到的情况,如果出现这种情况,我们就可以使用 @RequestParam 来重命名前后端的参数值@RequestMapping("/m4") public Object ... 1. 后端传参重命名(后端参数映射)某些特殊情况下,前端传递的参数 key 和我们后端接收的 key 可以不一致,比如前端传了一个 time 给后端,而后端是使用 createtime 字段来接收的,这样就会出现参数接收不到的情况,如果出现这种情况,我们就可以使用 @RequestParam 来重命名前后端的参数值@RequestMapping("/m4") public Object ...
- 算法介绍:广度优先搜索(Breadth-First Search,简称BFS)是一种遍历或搜索树和图的算法,也称为宽度优先搜索,BFS算法从图的某个节点开始,依次对其所有相邻节点进行探索和遍历,然后再对这些相邻节点的相邻节点进行探索,直到遍历完所有的节点。BFS算法使用队列来辅助实现,将起始节点放入队列中,然后依次取出队列中的节点,访问其相邻节点,并将其加入队列。这样可以保证从起始节点出发,... 算法介绍:广度优先搜索(Breadth-First Search,简称BFS)是一种遍历或搜索树和图的算法,也称为宽度优先搜索,BFS算法从图的某个节点开始,依次对其所有相邻节点进行探索和遍历,然后再对这些相邻节点的相邻节点进行探索,直到遍历完所有的节点。BFS算法使用队列来辅助实现,将起始节点放入队列中,然后依次取出队列中的节点,访问其相邻节点,并将其加入队列。这样可以保证从起始节点出发,...
- 算法介绍:深度优先搜索(Depth-First Search,简称DFS)是一种用于遍历或搜索树或图的算法。这种算法会尽可能深地搜索图的分支,直到找到目标节点或达到叶节点(没有子节点的节点),然后回溯到上一个分支继续搜索。DFS可以用于许多问题,比如路径寻找、连通性验证、拓扑排序等。在ACM、蓝桥杯等著名竞赛中DFS算法是比较重要的,特别是在蓝桥杯中每一年几乎都要考DFS/BFS算法。DFS... 算法介绍:深度优先搜索(Depth-First Search,简称DFS)是一种用于遍历或搜索树或图的算法。这种算法会尽可能深地搜索图的分支,直到找到目标节点或达到叶节点(没有子节点的节点),然后回溯到上一个分支继续搜索。DFS可以用于许多问题,比如路径寻找、连通性验证、拓扑排序等。在ACM、蓝桥杯等著名竞赛中DFS算法是比较重要的,特别是在蓝桥杯中每一年几乎都要考DFS/BFS算法。DFS...
- 弗洛伊德算法(Floyd's algorithm),又称为弗洛伊德-沃尔什算法(Floyd-Warshall algorithm),是一种用于在加权图中找到所有顶点对之间最短路径的算法。这个算法适用于有向图和无向图,并且可以处理负权重边,但不能处理负权重循环。弗洛伊德算法(Floyd-Warshall Algorithm)是一种用于计算图中所有顶点对之间最短路径的动态规划算法。本文将详细介绍... 弗洛伊德算法(Floyd's algorithm),又称为弗洛伊德-沃尔什算法(Floyd-Warshall algorithm),是一种用于在加权图中找到所有顶点对之间最短路径的算法。这个算法适用于有向图和无向图,并且可以处理负权重边,但不能处理负权重循环。弗洛伊德算法(Floyd-Warshall Algorithm)是一种用于计算图中所有顶点对之间最短路径的动态规划算法。本文将详细介绍...
- ClickHouse 投影(Projections)是一种数据结构,用于提高特定查询模式下的性能。投影可以被视为对表中数据的一种预处理形式,允许用户指定如何对数据进行排序、过滤、聚合等操作。通过创建投影,ClickHouse 可以更快地响应某些类型的查询,因为它不必每次都从原始数据中计算结果。 ClickHouse 投影(Projections)是一种数据结构,用于提高特定查询模式下的性能。投影可以被视为对表中数据的一种预处理形式,允许用户指定如何对数据进行排序、过滤、聚合等操作。通过创建投影,ClickHouse 可以更快地响应某些类型的查询,因为它不必每次都从原始数据中计算结果。
- 迪杰斯特拉(Dijkstra)算法是一种用于在加权图中找到单个源点到所有其他顶点的最短路径的算法。它是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Dijkstra)在1956年提出的。Dijkstra算法适用于处理带有非负权重的图。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。适用的是单源路径最短路问题,对于多... 迪杰斯特拉(Dijkstra)算法是一种用于在加权图中找到单个源点到所有其他顶点的最短路径的算法。它是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Dijkstra)在1956年提出的。Dijkstra算法适用于处理带有非负权重的图。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。适用的是单源路径最短路问题,对于多...
- 树状数组(Binary Indexed Tree,简称BIT或Fenwick Tree)是一种用于高效处理数据序列的算法数据结构。它能够支持两个主要操作:单点更新和区间求和,这两个操作的时间复杂度都能达到O(log n),其中 n 是数据序列的长度。树状数组非常适合处理那些需要频繁更新和查询区间和的问题。基本原理树状数组的核心思想是将数据序列映射到一棵二叉树中,这棵树并不是普通的二叉树,而是... 树状数组(Binary Indexed Tree,简称BIT或Fenwick Tree)是一种用于高效处理数据序列的算法数据结构。它能够支持两个主要操作:单点更新和区间求和,这两个操作的时间复杂度都能达到O(log n),其中 n 是数据序列的长度。树状数组非常适合处理那些需要频繁更新和查询区间和的问题。基本原理树状数组的核心思想是将数据序列映射到一棵二叉树中,这棵树并不是普通的二叉树,而是...
- 差分算法是一种在计算机科学中常用的算法,特别是在处理序列数据时,它可以帮助我们快速计算出序列中相邻元素的差值。时间复杂度可以达到O(1),在C++中实现差分算法不仅可以提高程序的效率,还可以简化代码的复杂度。本文将详细介绍差分算法的原理、C++实现方法以及算法例题。 算法原理上一篇博客一篇带你速通前缀和算法(C/C++)我们介绍了前缀和算法,这一篇文章就与前缀和算法相反为差分算法。一维差分:... 差分算法是一种在计算机科学中常用的算法,特别是在处理序列数据时,它可以帮助我们快速计算出序列中相邻元素的差值。时间复杂度可以达到O(1),在C++中实现差分算法不仅可以提高程序的效率,还可以简化代码的复杂度。本文将详细介绍差分算法的原理、C++实现方法以及算法例题。 算法原理上一篇博客一篇带你速通前缀和算法(C/C++)我们介绍了前缀和算法,这一篇文章就与前缀和算法相反为差分算法。一维差分:...
- 引言前缀和是一种常见的算法计算技巧,通常用于处理数组或序列的连续子区间求和问题。它可以帮助我们在 O(1) 的时间内计算出指定子区间的和,而不需要每次都遍历整个子区间。前缀和一般用于预处理当中,具有高效率的特点。算法思想:一维前缀和:前缀和由名字可知,前面的数相加为和,前缀和是算法最基础的,也是非常好理解的,其实与数学符号Σ(求和符号)的意思是一模一样的。下面举一个例子我们有原数组a=[3,... 引言前缀和是一种常见的算法计算技巧,通常用于处理数组或序列的连续子区间求和问题。它可以帮助我们在 O(1) 的时间内计算出指定子区间的和,而不需要每次都遍历整个子区间。前缀和一般用于预处理当中,具有高效率的特点。算法思想:一维前缀和:前缀和由名字可知,前面的数相加为和,前缀和是算法最基础的,也是非常好理解的,其实与数学符号Σ(求和符号)的意思是一模一样的。下面举一个例子我们有原数组a=[3,...
- 面试官:List集合都知道哪些对象?作为四大集合之一的List,在业务开发中我们比较常见的是以下 3 种:ArrayList、Vector、LinkedList,业务开发我们接触最多就是容器类库了,容器类库可以说是面向对象语言最重要的类库。大家看看在工作里你比较熟悉的是哪个?面试官:那TreeSet要怎么定制排序?TreeSet的自定义排序我们要利用Comparator接口,通过向TreeSet传 面试官:List集合都知道哪些对象?作为四大集合之一的List,在业务开发中我们比较常见的是以下 3 种:ArrayList、Vector、LinkedList,业务开发我们接触最多就是容器类库了,容器类库可以说是面向对象语言最重要的类库。大家看看在工作里你比较熟悉的是哪个?面试官:那TreeSet要怎么定制排序?TreeSet的自定义排序我们要利用Comparator接口,通过向TreeSet传
- GCD、LCM是算法当中的基础之基础,分别对应最大公约数、最小公倍数,在算法竞赛中涉及到的概率也是比较高的,GCD、LCM在小学时就涉及到了求法,本篇将给大家详解GCD、LCM这两个函数,并且提供最简单的模板,在考察时,直接背上即可。最大公约数(GCD)也称为最大公因数或最大公因子,是指两个或多个整数共有的约数中最大的一个。在数学中,这是指能够同时被这些整数整除的最大的正整数。例如,8与12... GCD、LCM是算法当中的基础之基础,分别对应最大公约数、最小公倍数,在算法竞赛中涉及到的概率也是比较高的,GCD、LCM在小学时就涉及到了求法,本篇将给大家详解GCD、LCM这两个函数,并且提供最简单的模板,在考察时,直接背上即可。最大公约数(GCD)也称为最大公因数或最大公因子,是指两个或多个整数共有的约数中最大的一个。在数学中,这是指能够同时被这些整数整除的最大的正整数。例如,8与12...
- 最长公共子序列(LCS,Longest Common Subsequence)问题简称(LCS),是动态规划里面里面的基础算法。它的所解决的问题是,在两个序列中找到一个序列,使得它既是第一个序列的子序列,也是第二个序列的子序列,并且该序列长度最长。由下图中两个序列,我们可以看出来最长公共子序列为[s c r g]。我们来举个“栗子”,比如序列A为“abcdef”,序列B为“bcef”,那么它... 最长公共子序列(LCS,Longest Common Subsequence)问题简称(LCS),是动态规划里面里面的基础算法。它的所解决的问题是,在两个序列中找到一个序列,使得它既是第一个序列的子序列,也是第二个序列的子序列,并且该序列长度最长。由下图中两个序列,我们可以看出来最长公共子序列为[s c r g]。我们来举个“栗子”,比如序列A为“abcdef”,序列B为“bcef”,那么它...
- NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。 NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
- Lisp编程语言是一种历史悠久的编程语言,最初由约翰·麦卡锡(John McCarthy)在1958年设计,它是继Fortran之后出现的第二高级编程语言。Lisp语言以其独特的语法和编程范式而闻名,这些范式包括但不限于函数式编程、递归和符号处理。以下是Lisp编程语言的一些特点:1. **递归**:Lisp语言在设计时就考虑了递归,这使得它非常适合解决那些可以用递归方式表达的问题。2. *... Lisp编程语言是一种历史悠久的编程语言,最初由约翰·麦卡锡(John McCarthy)在1958年设计,它是继Fortran之后出现的第二高级编程语言。Lisp语言以其独特的语法和编程范式而闻名,这些范式包括但不限于函数式编程、递归和符号处理。以下是Lisp编程语言的一些特点:1. **递归**:Lisp语言在设计时就考虑了递归,这使得它非常适合解决那些可以用递归方式表达的问题。2. *...
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签