
算法
文章平均质量分 71
NOI_赵小龙
90后阳光柚子一枚,喜欢写作,旅行、码代码。
展开
-
lower_bound( )和upper_bound( )
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。 在从小到大的排序数组中, lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。 upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到转载 2022-04-30 10:11:36 · 175 阅读 · 0 评论 -
广度优先搜索算法/宽度优先搜索算法
练习2. /*最短路径问题:从A城市出发到大目标城市求最短的路线: 解题思路:首先使用数组a记录途径城市,用数组b记录所经过的城市,数组c记录哪些城市走过哪些没走过 每当a记录一次所经的城市时,数组b都会将该城市的前驱城市记录下来...当找到目标城市时,最短路线就已经 储存在b数组中了。逆序输出一下b数组就是我们所要的答案。 */ #include<bits/stdc++.h> using namespace std; //使用邻接矩阵来表示城市,只有8个城市所以需要开辟8*8的二维数组原创 2020-12-28 16:15:02 · 1519 阅读 · 6 评论 -
快速排序算法
一、快速排序 : 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 动态样例 : (6)(10)(13)(5)(8)(3)(2)(11) :x=6; i=l=0; j=r=7; i原创 2020-08-11 18:01:57 · 168 阅读 · 0 评论 -
高精度算法之高精度加法
/* Name: 高精度算法 Copyright: Author: 赵晨泽 Date: 02/07/20 09:00 Description: */ #include #include using namespace std; int *input(char a1[],int lena);//读入数据 int *add(int a[],int b[],int lena,int lenb);//高精度加法 void print(int a[]); int main( ) { char a1[256]={}原创 2020-07-02 21:23:01 · 369 阅读 · 0 评论