计算机科学中,算法效率是算法的一种属性,算法效率与算法使用的计算资源量的大小有关。分析算法以确定其资源使用情况,即可根据不同资源的使用情况来衡量算法的效率。算法效率可以被认为类似于某个重复或持续过程的生产力大小。 为获得最大效率,一般希望能够尽量减少资源使用量。然而,时间复杂度和空间复杂度等不同的...
24 KB (3,315 words) - 17:05, 18 January 2025
该算法综合了最良優先搜索(英语:Best-first search)和戴克斯特拉算法的优点:在进行启发式搜索提高算法效率的同时,可以保证找到一条最优路径(需要评估函数满足单调性)。 在此算法中,如果以 g ( n ) {\displaystyle g(n)} 表示从起点到任意顶点 n {\displaystyle...
5 KB (716 words) - 09:11, 4 June 2025
的前几位数来进一步提高效率,不过效果并不明显。二进制版的算法还可以扩展到其它进制,效率最多可以提升五倍。 对于超过25,000位数的大数,有一种改进使算法复杂度降低至平方级以下,如Schönhage、Stehlé、Zimmermann等人提出的算法。这些算法利用2×2的矩阵(见上文)。这些亚平方级的算法复杂度通常是...
92 KB (16,106 words) - 07:48, 3 February 2025
然而SPFA在最坏情况的时间复杂度与 Bellman-Ford 算法相同,因此在非负边权的图中使用堆优化的Dijkstra 算法效率可能优于SPFA。 SPFA算法首先在1959年由Edward F. Moore(英语:Edward F. Moore)作为广度优先搜索的扩展发表,相同算法在1994年由段凡丁重新发现。 给定一个有向带权图...
7 KB (1,001 words) - 15:24, 23 January 2025
發式演算法處理許多實際問題時通常可以在合理時間內得到不錯的答案。 有一類的通用啟發式策略稱為元启发算法(metaheuristic),通常使用亂數搜尋技巧。他們可以應用在非常廣泛的問題上,但不能保證效率。 所謂的最短路径問題有很多種意思,在這裡啟發式指的是在一個搜尋樹的節點上定義的函数 h ( n )...
5 KB (829 words) - 03:40, 29 August 2024
cells的问题。 这个问题在计算上是NP困难的,不过存在高效的启发式算法。一般情况下,都使用效率比较高的启发式算法,它们能够快速收敛于一个局部最优解。这些算法通常类似于通过迭代优化方法处理高斯混合分布的最大期望算法(EM算法)。而且,它们都使用聚类中心来为数据建模;然而k-平均聚类倾向于在可比较...
29 KB (4,268 words) - 13:38, 21 April 2025
归并排序 (category 排序算法)
sort,或mergesort),是建立在归并操作上的一种有效的排序算法,效率為 O ( n log n ) {\displaystyle O(n\log n)} (大O符号)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。...
15 KB (2,119 words) - 15:19, 8 January 2024
分治法這個名稱有時亦會用於將問題簡化為只有一個細問題的算法,例如用於在已排序的列中尋找其中一項的折半搜索算法(或是在數值分析中類似的勘根算法)。這些算法比一般的分治算法更能有效地執行。其中,假如算法使用尾部遞歸的話,便能轉換成簡單的迴圈。但在這廣義之下,所有使用遞歸或迴圈的算法均被視作「分治算法...
6 KB (976 words) - 10:18, 8 January 2022
次松弛操作,得到所有可能的最短路径。其优于戴克斯特拉算法的方面是边的权值可以为负数、实现简单,缺点是时间复杂度过高,高达 O ( | V | | E | ) {\displaystyle O(|V||E|)} 。但算法可以进行若干种优化,提高了效率。 贝尔曼-福特算法与戴克斯特拉演算法类似,都以松弛操作为基础...
7 KB (1,066 words) - 14:12, 14 November 2024
启发式搜索 遗传算法 数据结构的算法 数论与代数算法 计算几何的算法 凸包算法 图论的算法 哈夫曼编码 树的遍历 最短路径算法 最小生成树算法 最小树形图 网络流算法 匹配算法 分團問題 动态规划 其他 数值分析 加密算法 排序算法 检索算法 随机化算法 关于并行算法,请参阅并行计算一文。 Thomas H...
32 KB (4,827 words) - 03:38, 20 May 2025
在计算机科学中,算法分析(英語:Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程。算法的效率或复杂度在理论上表示为一个函数。其定义域是输入数据的长度(通常考虑任意大的输入,没有上界),值域通常是执行步骤数量(时间复杂度)或者...
14 KB (2,600 words) - 07:30, 7 June 2025
乘法算法是计算两个数值相乘乘積的算法。为了提高运算效率,不同大小的数字适用不同的乘法算法。自十进制数字系统诞生以来,就已开始发展乘法算法。 网格法(英语:Grid method multiplication) (或盒式法)是一种用于给小学生进行乘法计算启蒙的简单乘法算法...
34 KB (4,359 words) - 16:06, 9 January 2024
模擬退火(英語:Simulated annealing,缩写作SA)是一種逼近给定函数全局最优的通用概率演算法,具体来说,它是一种元启发算法,常用來在一定時間內,尋找在一個很大搜尋空間中的近似全局最優解。在有大量局部最优解时,模拟退火算法可以找到全局最优解。 模拟退火常用于搜索空间离散的情形(如旅行推销员问题、布尔可满足...
31 KB (4,541 words) - 10:36, 17 September 2024
遗传算法(英語:Genetic Algorithm,GA)是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等等。 遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为...
15 KB (2,482 words) - 08:50, 27 February 2022
算法效率。 当一个字典串集合是已知的(例如一个计算机病毒库), 就可以以离线方式先将自动机求出并储存以供日后使用,在这种情况下,算法的时间复杂度为输入字符串长度和匹配数量之和。 UNIX系统中的一个命令fgrep就是以AC自动机算法作为基础实现的。 设一个字典中有如下单词:{a...
7 KB (825 words) - 09:42, 4 June 2025
抽象数据类型(ADT) 敌手 (算法)(adversary) 算法(algorithm) BSTW算法(algorithm BSTW) FGK算法(algorithm FGK) 算法效率(algorithmic efficiency) 算法可解(algorithmically solvable) V算法(algorithm...
6 KB (735 words) - 01:22, 5 June 2025
算法,以一連串指令執行來完成。傳統上,這些指令都被送至單一的中央处理器,以循序方式執行完成。在這種處理方式下,單一時間中,只有單一指令被執行(processor level: 比较微处理器,CISC, 和RISC,即流水线Pipeline的概念,以及后来在Pipeline基础上以提高指令处理效率...
6 KB (948 words) - 07:41, 5 December 2024
爬山算法是一种局部择优的方法,采用启發式方法,是对深度优先搜索的一种改进,它利用反馈信息帮助生成解的决策。 爬山算法一般存在以下问题: 局部最大 高地:也称为平顶,搜索一旦到达高地,就无法确定搜索最佳方向,会产生随机走动,使得搜索效率降低。 山脊:搜索可能会在山脊的两面来回震荡,前进步伐很小。 解决方法:随机重启爬山算法...
663 bytes (83 words) - 14:12, 28 November 2023
代理式人工智能(英语:Agentic AI) 人工智能加速器 算法——一系列的計算過程 算法效率 AlphaFold——DeepMind研发的软件 AlphaGo——由谷歌DeepMind開發,專門用來下圍棋的計算機程序 环境智能 算法分析 分析 蚁群算法 应用程序接口——设置子程序定义、协议和软件构建工具和应用程序...
9 KB (1,557 words) - 18:55, 4 June 2025
斯温森-王算法(英語:Swendsen–Wang algorithm)由物理学家罗伯特·斯温森(英语:Robert Swendsen)与王建生于1987年提出,是首个非局域的蒙特卡洛算法,用以解决临界点附近效率变低的临界慢化问题。 斯温森-王算法最初用于易辛模型与玻茨模型,后来被推广到其他模型之中。该算法...
2 KB (303 words) - 06:40, 25 March 2023
Tarjan算法(以發現者Robert Tarjan命名)是一個在圖中尋找強連通分量的算法。雖然發表時間更早,它仍可以被視為Kosaraju算法的一個改進。它的效率跟Gabow算法(英语:Gabow's algorithm)差不多。 此算法以一個有向圖作為輸入,並按照所在的強連通分量給出其頂點集的一...
6 KB (957 words) - 05:34, 2 May 2023
一些基本的画家算法实现方法也可能效率很低,因为这将使得系统将可见多边形集合中的每个点都进行渲染,而没有考虑这些多变性在最终场景中可能被其它部分遮挡。这也就是说,对于细致的场景来说,画家算法可能会过度地消耗计算机资源。 人们有时候也使用逆向画家算法进行处理,这种算法...
3 KB (494 words) - 09:06, 20 February 2021
在计算机科学中,X算法可用来求解精确覆盖问题。此名称最早在高德纳的论文《舞蹈链》中出现,他认为此算法是“试错法中最显而易见”的。 就技术而言,X算法是一个深度优先的不确定性回溯算法。由于X算法是一个解决精确覆盖问题的简洁方法,高德纳希望通过该算法体现舞蹈链数据结构的高效性,他把使用后者的X算法称为DLX。 X算法...
14 KB (1,280 words) - 03:26, 5 March 2024
希尔排序 (category 排序算法)
希爾排序(英語:Shellsort),也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序算法。 希爾排序是基於插入排序的以下兩點性質而提出改進方法的: 插入排序在對幾乎已經排好序的數據操作時,效率高,即可以達到線性排序的效率 但插入排序一般來說是低效的,因為插入排序每次只能將數據移動一位...
12 KB (1,664 words) - 11:42, 8 January 2024
维数灾难让大部分的搜索算法在高维情况下都显得花俏且不实用。 同样的,在高维空间中,k-d树也不能做很高效的最邻近搜索。一般的准则是:在k维情况下,数据点数目N应当远远大于 2 k {\displaystyle 2^{k}} 时,k-d树的最邻近搜索才可以很好的发挥其作用。不然的话,大部分的点都会被查询,最终算法效率...
6 KB (799 words) - 11:12, 14 February 2024
外排序 (category 排序算法)
计算机科学家吉姆·格雷的Sort Benchmark(页面存档备份,存于互联网档案馆)网站用不同的硬件、软件环境测试了实现方法不同的多种外排序算法的效率。效率较高的算法具有以下的特征: 并行计算 用多个磁盘驱动器并行处理数据,可以加速顺序磁盘读写。 在计算机上使用多线程,可在多核心的计算机上得到优化。...
7 KB (1,259 words) - 11:57, 8 April 2022
正確的数据结构選擇可以提高演算法的效率(請參考演算法效率)。在電腦程式设计的過程中,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,程式設計的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 系統架構的关键因素是数据结构而非算法...
4 KB (537 words) - 06:58, 13 May 2024
算法。在绝大多数情况下,近似算法得到的近似值位于最优解到最优解乘以某个特定的值之间,这个特定的值被称作近似比。不过,也有一些算法得到的近似值是在最优解到最优解加某个特定的值之间。 近似算法的设计及分析过程中都包含一系列的数学证明,以保证其最差情况效率仍可接受。这点也是它与模拟退火等启发式算法...
5 KB (754 words) - 01:03, 10 January 2025
算法效率)。 分配器的元数据需要占用额外的空间。 尝试组块来减轻这个效应。 通常,内存是从一个被称为堆(heap)的内存池中分配出来的。高级语言封装了内存地址的概念,内存通常是通过指针来间接访问的。分配算法经常将组织分配释放组块等操作封装成抽象的接口供上层函数调用。 堆分配的效率与分配算法的优劣关系很大。...
6 KB (661 words) - 04:55, 25 February 2025
戴克斯特拉算法(英語:Dijkstra's algorithm),又稱迪杰斯特拉算法、Dijkstra算法,是由荷兰计算机科学家艾茲赫尔·戴克斯特拉在1956年发现的算法,并于3年后在期刊上发表。戴克斯特拉算法使用类似廣度优先搜索的方法解决赋权图的单源最短路径问题。 该算法...
39 KB (4,746 words) - 05:26, 19 June 2025
在模式识别领域中,最近鄰居法(KNN算法,又譯K-近邻算法)是一种用于分类和回归的無母數統計方法,由美国统计学家伊芙琳·费克斯和小約瑟夫·霍奇斯于1951年首次提出,后来由托馬斯·寇弗(英语:Thomas M. Cover)扩展。在这两种情况下,输入包含特徵空間中的k个最接近的训练样本。...
15 KB (2,327 words) - 08:47, 12 December 2024