做网站之前需要准备什么条件,深圳网站建设 设计科技,网站推广广告公司,物业管理系统多少钱一、基础算法函数1. 比较类cmp()- 比较#xff08;Compare#xff09;less()- 小于比较greater()- 大于比较equal()- 相等比较compareTo()- 比较#xff08;返回-1,0,1#xff09;2. 数学类gcd()- 最大公约数lcm()- 最小公倍数factorial()- 阶乘fibonacci()- 斐波那契isPri…一、基础算法函数1. 比较类cmp()- 比较Compareless()- 小于比较greater()- 大于比较equal()- 相等比较compareTo()- 比较返回-1,0,12. 数学类gcd()- 最大公约数lcm()- 最小公倍数factorial()- 阶乘fibonacci()- 斐波那契isPrime()- 判断质数primeFactors()- 质因数分解二、数据处理函数1. 数组/列表sum()- 求和average()/mean()- 平均值median()- 中位数mode()- 众数prefixSum()- 前缀和suffixSum()- 后缀和difference()- 差分2. 统计类count()- 计数freq()- 频率统计histogram()- 直方图variance()- 方差std()- 标准差三、搜索查找函数1. 基础查找find()- 查找search()- 搜索locate()- 定位indexOf()- 索引位置contains()- 是否包含exists()- 是否存在2. 特殊查找findFirst()- 查找第一个findLast()- 查找最后一个findAll()- 查找所有findIf()- 条件查找searchRange()- 搜索范围四、排序相关函数1. 基础排序sort()- 排序sorted()- 返回排序副本reverse()- 反转shuffle()- 随机打乱rotate()- 旋转2. 特殊排序merge()- 合并partition()- 分区quickSelect()- 快速选择nthElement()- 第n个元素五、字符串处理函数1. 基础操作substr()- 子串substring()- 子串slice()- 切片split()- 分割join()- 连接concat()- 连接strip()/trim()- 去除空格2. 匹配判断match()- 匹配matches()- 是否匹配startsWith()- 以...开始endsWith()- 以...结束contains()- 包含find()- 查找六、数学计算函数1. 几何计算distance()- 距离dot()- 点积cross()- 叉积area()- 面积perimeter()- 周长volume()- 体积2. 数值计算round()- 四舍五入floor()- 向下取整ceil()- 向上取整trunc()- 截断mod()- 取模pow()- 幂运算sqrt()- 平方根log()- 对数exp()- 指数七、图论算法函数1. 基础图算法dfs()- 深度优先搜索bfs()- 广度优先搜索topologicalSort()- 拓扑排序dijkstra()- 最短路径floyd()- 全源最短路径bellmanFord()- 贝尔曼-福特算法kruskal()- 最小生成树prim()- 普里姆算法2. 网络流fordFulkerson()- 最大流edmondsKarp()- 最大流dinic()- 最大流minCostMaxFlow()- 最小费用最大流八、数据结构操作函数1. 树相关traverse()- 遍历preorder()- 前序遍历inorder()- 中序遍历postorder()- 后序遍历levelOrder()- 层序遍历insert()- 插入节点delete()- 删除节点search()- 查找节点height()- 树高depth()- 深度size()- 节点数2. 堆/优先队列push()- 入堆pop()- 出堆top()- 获取堆顶heapify()- 堆化buildHeap()- 建堆九、动态规划函数1. 基础DPdp()- 动态规划memo()- 记忆化recur()- 递归solve()- 求解2. 状态转移transfer()- 状态转移update()- 更新状态init()- 初始化状态calc()- 计算状态十、实用工具函数1. 日期时间now()- 当前时间date()- 日期time()- 时间datetime()- 日期时间timestamp()- 时间戳sleep()- 睡眠delay()- 延迟2. 文件IOread()- 读取write()- 写入open()- 打开close()- 关闭seek()- 定位tell()- 当前位置flush()- 刷新缓冲区十一、命名规范模板1. 动词名词calculateSum() // 计算和 findMinimum() // 查找最小值 sortArray() // 排序数组 checkPrime() // 检查质数 solveEquation() // 解方程 traverseTree() // 遍历树2. 动词介词名词searchInArray() // 在数组中搜索 sortByValue() // 按值排序 findFromList() // 从列表中查找 convertToString() // 转换为字符串3. 形容词名词isValid() // 是否有效 hasCycle() // 是否有环 canReach() // 是否能到达 shouldUpdate() // 是否应更新十二、算法竞赛常用函数1. 基础工具readInt()- 读整数readString()- 读字符串print()- 输出println()- 输出并换行debug()- 调试输出2. 算法实现solve()- 解题函数main()- 主函数init()- 初始化preprocess()- 预处理compute()- 计算十三、实际场景示例排序问题bool cmp(pairint, int a, pairint, int b) { if(a.first ! b.first) return a.first b.first; // 第一关键字升序 return a.second b.second; // 第二关键字降序 } vectorpairint, int data {{1,2}, {3,4}, {1,3}}; sort(data.begin(), data.end(), cmp);图论问题vectorint dijkstra(int start, vectorvectorpairint, int graph) { int n graph.size(); vectorint dist(n, INF); priority_queuepairint, int, vectorpairint, int, greaterpairint, int pq; dist[start] 0; pq.push({0, start}); while(!pq.empty()) { auto [d, u] pq.top(); pq.pop(); if(d dist[u]) continue; for(auto [v, w] : graph[u]) { if(dist[v] dist[u] w) { dist[v] dist[u] w; pq.push({dist[v], v}); } } } return dist; }命名建议总结使用英文单词不要用拼音动词开头表示动作清晰明确一看就知道功能保持一致性相似功能用相似命名遵循惯例使用大家公认的名字常见命名模式判断isXXX(),hasXXX(),canXXX()获取getXXX(),findXXX(),searchXXX()修改setXXX(),updateXXX(),modifyXXX()创建createXXX(),buildXXX(),makeXXX()删除removeXXX(),deleteXXX(),clearXXX()