
算法图解
文章平均质量分 92
算法入门
道友老李
提供工业机器视觉解决方案(涵盖光源、相机、镜头、结构、视觉技术等)和自研接近开关传感器(衰减系数1)产品,联系方式:18271933684(同vx)。
展开
-
算法图解(七):贪婪算法
贪婪算法(Greedy Algorithm)是一种在每一步选择中都做出局部最优选择,期望通过一系列的局部最优解能够得到全局最优解的算法设计策略。这种算法并不总是能找到问题的全局最优解,但在某些情况下可以提供近似解或快速找到满意解。贪婪算法的关键在于每次决策时只考虑当前状态下的最佳选项,而不顾及未来的后果。原创 2021-12-17 21:47:05 · 556 阅读 · 11 评论 -
算法图解(六):狄克斯特拉算法
狄克斯特拉算法(Dijkstra's Algorithm)是一种用于解决单源最短路径问题的贪心算法,它能够找到从一个起始节点到图中其他所有节点的最短路径。该算法适用于带权有向图或无向图,并且要求所有的边权重都是非负数。原创 2021-12-17 21:46:08 · 396 阅读 · 10 评论 -
算法图解(五):散列表、广度优先搜索
散列表是一种以键值对形式存储数据的数据结构,它使用哈希函数将键映射到表中的一个位置(索引),从而实现快速的插入、查找和删除操作。理想情况下,哈希函数能够均匀地分布键值,使得每个桶(bucket)内的元素数量接近相同,这样可以最大限度地减少冲突(即不同键映射到同一位置的情况)。广度优先搜索是一种遍历或搜索图结构的算法,它从根节点开始,逐层向外扩展,依次访问所有相邻节点,然后再访问这些相邻节点的邻居,依此类推,直到遍历完整个图或者找到目标节点为止。原创 2021-12-16 20:34:07 · 262 阅读 · 11 评论 -
算法图解(四):快速排序
快速排序以其简洁性和高效性成为许多实际应用中最受欢迎的排序算法之一。尽管存在最坏情况下的性能问题,但通过合理的基准值选择策略(如三数取中法)和优化措施(如引入插入排序处理小规模子数组),可以在很大程度上避免这些问题。此外,原地版本的快速排序进一步减少了内存占用,使其更加适合大规模数据集的排序任务。* 快速排序 * 4.1 分而治之(D&C策略)* (1)找出基线条件,这种条件必须尽可能简单* (2)不断将问题分解(或者说缩小规模),直到符合基线条件。原创 2021-12-15 21:20:10 · 475 阅读 · 11 评论 -
算法图解(三):递归
递归算法是一种通过函数调用自身来解决问题的方法。它通常用于解决可以分解为相同问题但规模更小的子问题的情况。递归是计算机科学中一个非常重要的概念,广泛应用于各种编程语言和数据结构操作中。原创 2021-12-15 21:18:50 · 279 阅读 · 11 评论 -
算法图解(二):选择排序
选择排序(Selection Sort)是一种简单直观的比较类内部排序算法。它的工作原理是每次从未排序部分中挑选出最小(或最大)元素,将其放到已排序序列的末尾。选择排序的主要特点是其简单性和实现容易度,但它并不是最高效的排序算法之一,特别是在处理大规模数据集时。原创 2021-12-14 20:38:12 · 222 阅读 · 11 评论 -
算法图解(一):算法简介
算法简介 * 1.2 二分查找 示例:{@link BinarySearch}* 1.2.1 更佳的查找方式* (1)一般而言,对于包含n个元素的列表,用二分查找最多需要log2 (n)步* (2)对数运算是幂运算的逆运算* (3)仅当列表是有序的时候,二分查找才管用* 1.2.2 运行时间* (1)最多需要猜测的次数与列表长度相同,这被称为线性时间(linear time):O(n)原创 2021-12-14 20:35:08 · 1329 阅读 · 11 评论