1. 搜索算法 在树(图/状态集)中寻找特定节点 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个顶点出发,到另一个顶点的路径。图上的搜索算法有深度优先、广度优先搜索算法,和A*A?、IDA*IDA? 等启发式搜索算法。 广度优先搜索和深度优先搜索 ...
分类:
编程语言 时间:
2020-07-19 23:30:25
阅读次数:
103
主席树(可持久化线段树) 前置芝士 知识点 线段树,权值线段树(不一样),离散化,前缀和(思想) 由来 据说,是一位叫fotile主席的大大在写一道题时因为不会划分树就临时yy出一个算法,于是,这算法就这么诞生了。 作用 对区间求 \(kth\) 思想 思考优化策略 一列数,可以对于每个点i都建一棵 ...
分类:
其他好文 时间:
2020-07-19 17:57:51
阅读次数:
52
归并排序 归并排序介绍**:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。* ...
分类:
编程语言 时间:
2020-07-19 17:52:55
阅读次数:
58
假设有16枚硬币,其中一枚是假币,并且已知假币的重量要比真的硬币的重量要轻一点。 那么怎么样才能找出来这个假币呢? 这里用到的就是分治的思想 (1)先将这些硬币分成数量相同的两堆,称重,轻的就是有假币的 (2)将有假币的一堆再拆分成数量相同的两堆 (3)重复上面的步骤 (4)最终会剩下两枚,其中一枚 ...
分类:
编程语言 时间:
2020-07-19 17:44:02
阅读次数:
60
面试官所问题的面向切面编程你了解吗?AOP没有你想象的那么难,一篇文章带你走近SpringAOP,深度理解AOP思想! ...
分类:
编程语言 时间:
2020-07-19 16:32:42
阅读次数:
82
搬运自我的CSDN https://blog.csdn.net/u013213111/article/details/107308563 参考:西瓜书 DBSCAN的思想是基于密度来聚类,十分直观易懂,更严谨的描述可见西瓜书,其中个人认为最关键的是: 若$x$为核心对象,由$x$密度可达的所有样本组 ...
分类:
数据库 时间:
2020-07-19 15:48:14
阅读次数:
75
简介 归并排序简称Merge sort是一种递归思想的排序算法。这个算法的思路就是将要排序的数组分成很多小的部分,直到这些小的部分都是已排序的数组为止(只有一个元素的数组)。 然后将这些排序过的数组两两合并起来,组成一个更大一点的数组。接着将这些大一点的合并过的数组再继续合并,直到排序完整个数组为止 ...
分类:
编程语言 时间:
2020-07-19 11:29:35
阅读次数:
61
1.堆栈(stack),其实就是堆,为什么加堆,我查了了一下,似乎是历史原因,在栈的实现时,内存中的资源分配是以堆的逻辑分配的(使用malloc函数申请内存时),故叫堆栈,其实我们研究其栈的主要性质就可以了,内存中的分配是操作系统和计算机组成原理研究的问题。 2.栈的主要思想就是后进先出,与之相关的 ...
分类:
其他好文 时间:
2020-07-19 00:57:20
阅读次数:
117
Solution: Dijkstra (大概读作:迪杰斯特拉?) 算法思想: 给定一张n个点,m条边的图,起点为s。求起点s到图中所有点的最短路径(单源最短路。dis[i]表示从起点到i的最短距离。vis[i]表示此点是否已被标记确定为最短。 1、初始化dis[s]=0,其余结点dis为正无穷大。 ...
分类:
编程语言 时间:
2020-07-19 00:39:57
阅读次数:
85
[编程题] lc:236. 二叉树的最近公共祖先 题目描述 输入输出例子 思路 使用后续遍历的思想,根据找到了左和右的情况,进行相应的返回结果。 Java代码 /** * Definition for a binary tree node. * public class TreeNode { * i ...
分类:
其他好文 时间:
2020-07-19 00:39:06
阅读次数:
85