<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Algorithm on Leanku</title>
    <link>https://blog.leanku.com/categories/algorithm/</link>
    <description>Recent content in Algorithm on Leanku</description>
    <image>
      <url>https://blog.leanku.com/papermod-cover.png</url>
      <link>https://blog.leanku.com/papermod-cover.png</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Sun, 12 Mar 2023 22:46:01 +0800</lastBuildDate><atom:link href="https://blog.leanku.com/categories/algorithm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>常用算法的PHP实现</title>
      <link>https://blog.leanku.com/post/algorithm/%E5%B8%B8%E7%94%A8%E7%AE%97%E6%B3%95%E7%9A%84php%E5%AE%9E%E7%8E%B0/</link>
      <pubDate>Sun, 12 Mar 2023 22:46:01 +0800</pubDate>
      
      <guid>https://blog.leanku.com/post/algorithm/%E5%B8%B8%E7%94%A8%E7%AE%97%E6%B3%95%E7%9A%84php%E5%AE%9E%E7%8E%B0/</guid>
      <description>常用算法的PHP实现 1. 快速排序 (Quick Sort) &amp;lt;?php function quickSort($arr) { if (count($arr) &amp;lt;= 1) { return $arr; } $pivot = $arr[0]; $left = $right = []; for ($i = 1; $i &amp;lt; count($arr); $i++) { if ($arr[$i] &amp;lt; $pivot) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } return array_merge(quickSort($left), [$pivot], quickSort($right)); } // 测试 $numbers = [64, 34, 25, 12, 22, 11, 90]; echo &amp;#34;原始数组: &amp;#34; . implode(&amp;#39;, &amp;#39;, $numbers) .</description>
    </item>
    
    <item>
      <title>算法</title>
      <link>https://blog.leanku.com/post/algorithm/%E7%AE%97%E6%B3%95/</link>
      <pubDate>Sun, 12 Mar 2023 22:46:01 +0800</pubDate>
      
      <guid>https://blog.leanku.com/post/algorithm/%E7%AE%97%E6%B3%95/</guid>
      <description>算法 算法是计算机科学的核心基础之一，简单来说它是解决特定问题的一系列清晰指令。无论是简单的计算还是复杂的人工智能任务，都离不开算法。
1. 算法是什么？ 你可以把算法想象成一个菜谱：
输入：食材（数据）
处理步骤：清晰的烹饪步骤（算法逻辑）
输出：一道菜肴（结果）
它的核心目标是用最优的方式（最快、最省资源）解决问题。
2. 算法的核心特性 一个“好”的算法通常具备以下特点：
正确性：必须能正确解决问题。
高效性：执行时间和占用空间要尽可能少。
明确性：每一步都必须清晰、无歧义。
有限性：必须在有限的步骤内结束。
3. 常见的算法类别与实例 算法种类繁多，以下是一些主要类别和经典例子：
排序算法
快速排序：采用“分治”思想，选择一个基准元素，将数组分成左右两部分，效率很高。
归并排序：也是“分治”思想，先将数组不断拆分，再合并排序，稳定且高效。
冒泡排序：反复交换相邻的逆序元素，简单但效率低。
搜索算法
二分查找：在已排序的数组中，每次比较都能排除一半的数据，效率极高（O(log n)）。
深度优先搜索和广度优先搜索：用于遍历或搜索树和图结构，是许多复杂算法的基础。
图算法
Dijkstra算法：用于寻找图中两点之间的最短路径。
A*搜索算法：在Dijkstra基础上加入了启发式函数，是路径规划和游戏AI的基石。
动态规划
用于解决具有重叠子问题和最优子结构的复杂问题（如斐波那契数列、背包问题），通过存储中间结果来避免重复计算。 机器学习算法（AI领域）
线性回归/逻辑回归：用于预测和分类。
决策树/随机森林：通过树形结构做决策。
支持向量机：寻找最佳分类边界。
神经网络：模仿人脑神经元，是深度学习的核心。
4. 如何衡量算法的好坏？—— “复杂度分析” 我们使用 “大O表示法” 来描述算法的效率，主要看：
时间复杂度：随着数据规模增大，算法运行时间的增长趋势。例如 O(1), O(log n), O(n), O(n²)。
空间复杂度：随着数据规模增大，算法占用内存空间的增长趋势。
5. 为什么算法如此重要？ 效率：好的算法能处理海量数据，差的算法在大数据面前寸步难行。
性能：直接影响软件和应用的反应速度与用户体验。
解决问题的基础：是开发任何软件系统、进行科学计算和实现人工智能的基石。
面试核心：是国内外大型科技公司技术面试的必考内容。</description>
    </item>
    
  </channel>
</rss>
