首页 > 编程语言 >算法基础课笔记:第一章,基础算法 排序 + 二分

算法基础课笔记:第一章,基础算法 排序 + 二分

时间:2023-03-10 09:23:07浏览次数:43  
标签:二分 归并 浮点数 快排 算法 基础课 排序

这节课的内容

  • 排序
    • 快排
    • 归并排序
  • 二分
    • 整数二分
    • 浮点数二分

如何提高自己敲模板的熟练度呢?

  • 反复的练,孰能生巧。重复 3 - 5 次。

快排

1.确定分界点
2.调整区间
3.递归处理两段

归并排序

  • 确定分界点 \(mid = (l + r) / 2\)
  • 递归处理左右区间
  • 归并,合二为一

二分

  • 整数二分 注意边界判断
  • 浮点数二分 会有精度问题

标签:二分,归并,浮点数,快排,算法,基础课,排序
From: https://www.cnblogs.com/spock12138/p/17092072.html

相关文章

  • C++常用查找算法 find
    功能描述:查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()#include<iostream>#include<vector>#include<functional>#include<algorithm>#include......
  • 【LeetCode回溯算法#05】分割回文串(复习双指针判断回文以及substr函数使用记录)
    分割回文串力扣题目链接给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。示例......
  • 代码随想录算法Day37 | 738.单调递增的数字
    738.单调递增的数字题目链接:738.单调递增的数字-力扣(LeetCode)思路将数字转换成字符数组形式,然后从后向前遍历,当遇到当前这个数大于后一个数的时候,这个数减一,他的后一......
  • Quine-McCluskey两级逻辑化简算法原理解析
    转载请务必注明出处:https://www.cnblogs.com/the-wind/p/15764283.html目录1背景介绍:两级逻辑2Quine-McCluskey两级逻辑化简2.1蕴涵项与素蕴涵项2.2Quine-McCluskey算......
  • C++常用遍历算法 transform
    功能:将容器搬运到另一个容器#include<iostream>#include<vector>#include<functional>#include<algorithm>usingnamespacestd;//遍历函数transformclassTr......
  • C++常用遍历算法 for_each
    #include<iostream>#include<vector>#include<functional>#include<algorithm>usingnamespacestd;//遍历函数for_each//普通函数voidprint1(intval){......
  • 算法训练Day9| LeetCode28. 找出字符串中第一个匹配项的下标(KMP算法)
    28. 找出字符串中第一个匹配项的下标给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果......
  • 算法介绍
    冒泡排序冒泡排序是一种基本的排序算法,其基本思想是将相邻的元素进行比较和交换,从而逐步将最大的元素“冒泡”到最后面。其算法流程如下: 从数组的第一个元素开始,对相邻的......
  • 二分法
      #include<iostream>usingnamespacestd;constintN=1e5+10;inta[N],st[N];intnum=0;intmain(){intn,q;cin>>n>>q;for(inti=1;i<=n;i++){cin>>a[i];......
  • 【LeetCode回溯算法#04】组合总和I与组合总和II(单层处理位置去重)
    组合总和力扣题目链接(opensnewwindow)给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates......