
《算法基础课》课后总结
文章平均质量分 56
基础算法学习
&不逝
这个作者很懒,什么都没留下…
展开
-
高精度算法
高精度算法一、高精度加法C=A+B二、高精度减法C=A-B三、高精度乘法C=A*b四、高精度除法C=A/b一、高精度加法C=A+B题目描述:用字符串存储两个大数A和B,求他们的和并输出(A和B都为正)具体步骤:把字符串倒序存储到容器中容器中A和B从低为到高位逐个相加存入容器C,注意进位,循环最后判断是否还有进位倒序输出C题解源码:#include<iostream>#include<vector>using namespace std;vector原创 2022-01-14 19:44:26 · 822 阅读 · 0 评论 -
二分查找算法(整数和浮点数)
二分查找算法一、整数二分模板二、浮点数的二分一、整数二分模板二分核心思想: 选择区间,每次都保证答案在被选择的区间内,循环往复。整数二分有两种情况 :第一种是区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:bool check(int x) {/* ... */ } // 检查x是否满足某种性质int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >&g原创 2022-01-14 09:43:52 · 570 阅读 · 0 评论 -
快排和归并排序算法的模板及运用
快排和归并排序算法的模板及运用一、快速排序二、快速选择三、归并排序四、逆序对的数量一、快速排序核心思想: 把一个序列分为两部分,左半部分所有数均小于等于或大于等于右半部分所有数,递归处理左右两部分具体步骤: 其中q为一个数组,l为数组的左端点下标,r为数组的右端点下标确定分界点q[(l+r)>>1],也就是q[(l+r)/2]利用双指针交换调整左右区间,使左区间内数据均小于等于右区间内数据(升序排序),或者使左区间内数据均大于等于右区间内数据(降序排序)递归处理左右区间[l,j]原创 2022-01-14 07:56:45 · 467 阅读 · 0 评论 -
STL中二分查找与去重算法
二分查找与去重算法一、二分查找算法二、去重算法一、二分查找算法lower_bound和upper_bound用法:lower_bound(beg,end,key);返回指向第一个大于等于key值的位置的迭代器或指针,否则返回endupper_bound(beg,end,key);返回指向第一个大于key值的位置的迭代器或指针,否则返回endbeg为容器的起始迭代器或者为数组的首地址end为容器的结束迭代器或者为数组最后一个元素的下一个位置的地址key要查找的数据注意:查找的数组原创 2022-01-13 15:31:52 · 460 阅读 · 0 评论