![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Basic Algorithms
Basic Algorithms
刘鹏加油呀
Do what you love, love what you do.
展开
-
算法基础(3):折半查找
折半查找: 设定查找范围的下限low,上限high,由此确定查找范围的中间位置mid; 中间位置的值等于待查的值,查找成功 中间位置的值小于待查的值,low=mid+1;中间位置的值大于待查的值,high=mid-1 直到low>high,查找失败。 package com.experiment2; import java.util.*; public class Main { public static void main(String[] args){ int a原创 2021-11-03 02:14:19 · 150 阅读 · 0 评论 -
算法基础(二):排序
归并排序(Merge Sort) 1 基本思想 分治 对半分 解决 对子问题递归排序 合并 将排好的字问题合并 2 复杂度 平均时间复杂度:O(nlogn) 最佳时间复杂度:O(nlogn) 最差时间复杂度:O(nlogn) 空间复杂度:O(n) 内存占用:In-place (表示占用常数内存,不占用额外内存 Out-place 占用额外内存) 稳定性:稳定 3 代码实现 // 归并排序(C++-递归版) template<typename T> void merge_sort_recursiv原创 2021-04-30 11:43:23 · 56 阅读 · 0 评论 -
算法基础(一):并查集
** 并查集 **在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。 并查集是一种树型的数据结构,用于*处理原创 2021-04-16 09:23:05 · 62 阅读 · 0 评论