搜索结果
查询Tags标签: low,共有 316条记录-
强连通分量+缩点
强连通分量+缩点 使用tarjan算法求强连通分量,再把强连通分量缩成一个点。 所需的数据结构 int dfn[10004];//遍历到i节点时的时间戳 int low[10004];//i节点不通过父节点可以回溯到的最小时间戳 int book[10004];//表示i是否入栈 stack<int> s;先读入点和边 cin …
2021/11/13 23:14:07 人评论 次浏览 -
C语言——常见排序算法与查找算法
排序算法冒泡排序 从要排序序列的第一个元素开始,不断比较相邻元素的值,发现逆序则交换,将值较大的元素逐渐从前向后移动。 每找到待排序序列的最大值时,就将该最大值固定在待排序序列的尾部,且每找到一个待排序序列最大值需要循环一次,n 个值则需要循环 n 次,但最…
2021/11/9 20:40:51 人评论 次浏览 -
C语言——常见排序算法与查找算法
排序算法冒泡排序 从要排序序列的第一个元素开始,不断比较相邻元素的值,发现逆序则交换,将值较大的元素逐渐从前向后移动。 每找到待排序序列的最大值时,就将该最大值固定在待排序序列的尾部,且每找到一个待排序序列最大值需要循环一次,n 个值则需要循环 n 次,但最…
2021/11/9 20:40:51 人评论 次浏览 -
快速排序 python
使用快排对数组进行排序 递归法 def quickSort(nums,low,pre):if low >= pre:return numsi = lowj = prepivot = nums[low]while(i < j):while(i<j and nums[j] >= pivot):j = j - 1nums[i],nums[j]=nums[j],nums[i]while(i<j and nums[i] <= pivot):i …
2021/11/8 20:10:26 人评论 次浏览 -
快速排序 python
使用快排对数组进行排序 递归法 def quickSort(nums,low,pre):if low >= pre:return numsi = lowj = prepivot = nums[low]while(i < j):while(i<j and nums[j] >= pivot):j = j - 1nums[i],nums[j]=nums[j],nums[i]while(i<j and nums[i] <= pivot):i …
2021/11/8 20:10:26 人评论 次浏览 -
算法设计与分析——分治法
分治法 分治法概述设计思想求解步骤 求解排序问题快速排序归并排序求解查找问题分治法概述 设计思想 将规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 分治法所能解决的问…
2021/11/8 11:10:31 人评论 次浏览 -
算法设计与分析——分治法
分治法 分治法概述设计思想求解步骤 求解排序问题快速排序归并排序求解查找问题分治法概述 设计思想 将规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 分治法所能解决的问…
2021/11/8 11:10:31 人评论 次浏览 -
排序算法原理
在学习排序算法之前,首先把我所掌握的排序方法写到这里非常暴力的遍历…void foolSort( int* array , int num ) {int t , temp , tempv;//一指针遍历整个数组 for( int h=0 ; h<num ; h++ ){//二指针依次比较 for( t=h , temp=h ; t<num ; t++ ){if( array[t] &…
2021/11/5 1:10:06 人评论 次浏览 -
排序算法原理
在学习排序算法之前,首先把我所掌握的排序方法写到这里非常暴力的遍历…void foolSort( int* array , int num ) {int t , temp , tempv;//一指针遍历整个数组 for( int h=0 ; h<num ; h++ ){//二指针依次比较 for( t=h , temp=h ; t<num ; t++ ){if( array[t] &…
2021/11/5 1:10:06 人评论 次浏览 -
2-SAT
\(2-SAT\) 来自 \(\text{OI-WIKI}\) 和 \(\text{Anguei}\) 的题解 定义: 将两个部分拆开,分为 \(2\) 和 \(SAT\) ,有一串 \(bool\) 类型的变量,对每个元素赋值,要求满足要求。 定义 \(\neg\) 表示不行,\(\vee\) 表示 或,\(\wedge\) 表示 与,这是布尔方程的定义。 …
2021/11/4 23:09:58 人评论 次浏览 -
2-SAT
\(2-SAT\) 来自 \(\text{OI-WIKI}\) 和 \(\text{Anguei}\) 的题解 定义: 将两个部分拆开,分为 \(2\) 和 \(SAT\) ,有一串 \(bool\) 类型的变量,对每个元素赋值,要求满足要求。 定义 \(\neg\) 表示不行,\(\vee\) 表示 或,\(\wedge\) 表示 与,这是布尔方程的定义。 …
2021/11/4 23:09:58 人评论 次浏览 -
【每日一题】【二分查找】2021年11月2日-搜索旋转排序数组
【某下标处进行了旋转】整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从…
2021/11/2 23:13:02 人评论 次浏览 -
【每日一题】【二分查找】2021年11月2日-搜索旋转排序数组
【某下标处进行了旋转】整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从…
2021/11/2 23:13:02 人评论 次浏览 -
八大排序算法
文章目录 1、直接插入排序2、希尔排序(缩小增量排序)3、冒泡排序4、快速排序5、简单选择排序6、堆排序7、归并排序8、基数排序1、直接插入排序 基本思想:每次将一个待排序的记录按其关键字大小插入前面已排好序的子序列,直到全部记录插入完成。 时间复杂度:O(n2)O(n^2)…
2021/11/1 14:39:35 人评论 次浏览 -
八大排序算法
文章目录 1、直接插入排序2、希尔排序(缩小增量排序)3、冒泡排序4、快速排序5、简单选择排序6、堆排序7、归并排序8、基数排序1、直接插入排序 基本思想:每次将一个待排序的记录按其关键字大小插入前面已排好序的子序列,直到全部记录插入完成。 时间复杂度:O(n2)O(n^2)…
2021/11/1 14:39:35 人评论 次浏览