![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 58
算法
lucky_starr
这个作者很懒,什么都没留下…
展开
-
哈希表(散列表)和哈希冲突
哈希表和哈希冲突原创 2022-07-14 15:38:10 · 608 阅读 · 1 评论 -
DFS与BFS简单原理
图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系。对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示。图可以分为有向图和无向图,一般用G=(V,E)来表示图。经常用邻接矩阵或者邻接表来描述一副图。在图的基本算法中,最初需要接触的就是图的遍历算法,根据访问节点的顺序,可分为广度优先搜索(BFS)和深度优先搜索(DFS)。目录Dfs( 深度优先搜索)BFS(广度优先搜索)Dfs( 深度优先搜索)顾名思义,在一张图中,他优先考虑的是图...原创 2022-02-15 10:38:31 · 320 阅读 · 0 评论 -
大数相乘(高精度)(一看就会系列)
在之前一篇的大数相加中我们有了大致了解,对于大数相乘,二者之间即有相同之处,也有不同的地方。同:1.都需要字符数组存储。2.都得倒序。3.都得考虑进位的问题。dd异:1.例如考虑进位时不仅有乘积进位,还可能有加法进位。2.存储结果的数组的容量应为两字符数组长度之和或加1.dd#include <stdio.h>#include <string.h>main(){ char a[200]; char b[200]; i原创 2021-12-31 16:41:37 · 915 阅读 · 7 评论 -
A+B problem (高精度大数相加)
在日常生活中我们经常会遇到两数相加的问题,但是当两数的范围都超过了整型,甚至是long long 型的存储范围。 那么我们就不能用简单的直接相加了。1.对于很长的一段数字我们稍加思索,应该能想到用一个字符数组来存储。2.对于两个数存储以后如果要进行逐位相加,根据我们学过的小学数学O(∩_∩)O哈哈~,应该从低位开始相加。 所以对于两个字符数组我们应该翻转一下,从个位为a[0];翻转字符串。3.另外,还得判断一下两数的长度,最后得出来数的长度为较长的数或较长的数加1(最高位相加要不要进一的..原创 2021-12-31 15:54:02 · 571 阅读 · 1 评论 -
PTA 6-5 说反话-加强版 (C)(通俗易懂还有图解)
要求: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come输出样例:Come I Here World Hello...原创 2021-12-16 20:32:39 · 355 阅读 · 2 评论 -
判断素数好方法——埃拉托斯特尼筛和线性筛
1.对于判断比较少的个数或比较小的数值时普通的判断素数的方法即可了,类似:int judge(int n){ int i,flag=1; for(i=2;i<=sqrt(n);i++) { if(n%i==0) { flag=0; break; } } return flag; //flag=1为素数,0为非素数}...原创 2022-02-07 19:57:43 · 639 阅读 · 0 评论