c算法大全常用c语言算法包括数论算法图论算法排序算法高精度计算树的遍历算法等等(完整版).doc
C 语言算法大全 本资源提供了 C 语言实现的常用算法大全,涵盖数论算法、图论算法、排序算法、高精度计算和树的遍历算法等多个方面。 一、数论算法 1. 求两数的最大公约数(GCD) 函数 gcd(a, b: integer): integer; begin if b = 0 then gcd := a else gcd := gcd(b, a mod b); end; 2. 求两数的最小公倍数(LCM) 函数 lcm(a, b: integer): integer; begin if a < b then swap(a, b); lcm := a; while lcm mod b > 0 do inc(lcm, a); end; 3. 素数的求法 A. 小范围内判断一个数是否为质数: 函数 prime(n: integer): Boolean; var i: integer; begin for i := 2 to trunc(sqrt(n)) do if n mod i = 0 then begin prime := false; exit; end; prime := true; end; B. 判断 LongInt 范围内的数是否为素数(包含求 50000 以内的素数表): 过程 getprime; var i, j: LongInt; p: array[1..50000] of Boolean; begin FillChar(p, sizeof(p), true); p[1] := false; i := 2; while i < 50000 do begin if p[i] then begin j := i * 2; while j < 50000 do begin p[j] := false; inc(j, i); end; end; inc(i); end; l := 0; for i := 1 to 50000 do if p[i] then begin inc(l); pr[l] := i; end; end; 函数 prime(x: LongInt): integer; var i: integer; begin prime := false; for i := 1 to l do if pr[i] >= x then break else if x mod pr[i] = 0 then exit; prime := true; end; 二、图论算法 1.最小生成树 A. Prim 算法: 过程 prim(v0: integer); var lowcost, closest: array[1..maxn] of integer; i, j, k, min: integer; begin for i := 1 to n do begin lowcost[i] := cost[v0, i]; closest[i] := v0; end; for i := 1 to n - 1 do begin {寻找离生成树最近的未加入顶点 k} min := MaxLongInt; for j := 1 to n do if (lowcost[j] < min) and (lowcost[j] <> 0) then begin min := lowcost[j]; k := j; end; lowcost[k] := 0; {将顶点 k 加入生成树} {生成树中增加一条新的边 k 到 closest[k]} {修正各点的 lowcost 和 closest 值} for j := 1 to n do if cost[k, j] < lowcost[j] then begin lowcost[j] := cost[k, j]; closest[j] := k; end; end; end; B. Kruskal 算法: 函数 find(v: integer): integer; {返回顶点 v 所在的集合} var i: integer; begin i := 1; while (i <= n) and (not v in vset[i]) do inc(i); if i <= n then find := i else find := 0; end; 过程 kruskal; var tot, i, j: integer; begin for ... {按权值递增顺序删去图中的边,若不形成回路则将此边加入最小生成树} end; 三、高精度计算 (略) 四、树的遍历算法 (略) 本资源提供了丰富的算法实现,涵盖了数论、图论、排序、高精度计算和树的遍历等多个方面,适合计算机科学和数学专业的学生和研究人员学习和参考。





剩余125页未读,继续阅读


















- 粉丝: 416
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 无线基站工程建设和项目管理.doc
- 大学计算机应用基础课程的教学改革与实践.docx
- 单片机输出方波及显示宽度.doc
- 浅析互联网环境下微电影实现病毒式传播的优势.docx
- 计算机科学与技术专业如何构建应用型人才培养体系.docx
- (源码)基于Spring Boot和MyBatis Plus的权限管理系统.zip
- 解析妇产科管理信息化建设.docx
- GOSP-硬件开发资源
- 基于PLC的数控车床电气控制系统方案设计书大学本科方案设计书(2).doc
- 面向Cloud-Native应用的可定制化DevOps流水线.pdf
- (源码)基于Flask框架的知乎问答系统.zip
- PLC与CIMPLICITY在汽车流水线控制系统中的应用.doc
- 电子商务论文-电子商务专业论文管理系统的建设.doc
- 基于单片机的的智能药盒的方案设计书.doc
- 大脑银行企业自动化运转培训心得.doc
- 计算机信息安全技术及防护研究.docx



评论0