BFS和DFS

BFS和DFS

BFS 概述 广度优先搜索(Breadth-First Search,简称 BFS)是一种遍历或搜索图或树数据结构的算法 它从根节点开始,沿着树的宽度遍历节点(即先访问同一层级的所有节点,再访问下一层级的节点) 在图中,BFS 从起始节点开始,探索所有邻居,然后依次遍历每个邻居的...

数学知识模板

数学知识模板

bingliaolong Algorithm 4年前 20 0

试除法判定质数 试除法分解质因数 朴素筛法求素数 线性筛法求素数 试除法求所有约数 约数个数和约数之和 欧几里得算法 求欧拉函数 筛法求欧拉函数 快速幂 扩展欧几里得算法 高斯消元 递归法求组合数 通过预处理逆元的方式求组合数 Lucas定理 分解质因数法求组合数 卡特兰数 NI...

排序_冒泡排序

排序_冒泡排序

bingliaolong Algorithm 6年前 23 0

简述 冒泡排序通过反复遍历要排序的列表,比较每对相邻项,并以升序或降序的方式交换它们。重复操作列表,知道不需要交换为止。 复杂度 名称 最好 平均 最差 空间 稳定性 冒泡排序 n n2 n2 1 是 理解 冒泡排序,有n个数字,就要进行n次大循环 每次大循环,会找到所有数里面的...

算法特点、哈希表

算法特点、哈希表

bingliaolong Algorithm 1年前 16 0

基于算法思想 比较排序 冒泡排序(Bubble Sort): 反复交换相邻的逆序元素 快速排序(Quick Sort): 通过分区交换来排序,递归地对分区进行排序 堆排序(Heap Sort): 利用堆结构进行排序,构建最大堆,然后依次将最大元素移到数组末尾 归并排序(Merge...

匹配_朴素字符串匹配算法

匹配_朴素字符串匹配算法

bingliaolong Algorithm 5年前 11 0

字符串匹配 字符串匹配的形式化定义如下:假设文本是一个长度为n的数组 T[1...n],而模式是一个长度为m的数组P[1...m],其中m<=n。进一步假设P和T的元素都是来自一个有限字母集合M的字符。如M={0,1}或者M={a,b,c,...z}。 字符数组P和T通常称...

动态规划相关

动态规划相关

概述 动态规划(Dynamic Programming,简称 DP)是一种通过分解问题来解决复杂问题的算法技术,特别适用于具有最优子结构性质的问题,即问题的最优解可以由其子问题的最优解构建而成 动态规划的核心思想是将问题分解成更小的子问题,并保存这些子问题的解,避免重复计算,从而...

排序_快速排序

排序_快速排序

bingliaolong Algorithm 6年前 38 0

简述 快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移到数列一边,比它小的元素移到数列的另一边,从而把数列拆解成两个部分。 快速排序是从冒泡排序演变而来的。 快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。 为什么快速排序比较快? 因为它使用了分治法...

扫一扫二维码分享