/algorithm_practice

算法之python实践【刷题篇】

Primary LanguagePython

数据结构与算法 之 python实现


基础篇

1. 基本排序算法

应用

  • 最大间隔问题 求无序数组排序之后 相邻两数的最大差值?【桶排序**的应用】
  • 小和问题 给定一个数组,计算所有小和【归并排序**的应用】
  • 荷兰国旗问题 小于的放在左边、等于的放在中间、大于的放在右边【快排划分的应用】
  • 查找无序数组前k个最小的数 该程序基于堆排序**,建立大小为k的大根堆。注: 该问题的最优解是下节中的BFPRT算法

2. KMP、Manacher、BFPRT

应用

3. 数据结构

数组结构

链表结构

树结构

堆结构

图结构

其他重要知识

字符串问题

4. 算法基础

递归

函数的递归过程是函数自己调用自己的过程。 基本**:把一个规模大的问题,转化成若干个规模小的子问题,并且大问题和其子问题的解决策略是一致的(同一种方法)。 递归函数必须有明确的结束条件!

动态规划

动态规划是一种分阶段求解决策问题的数学**。 三个重要的概念: 最优子结构、 边界、 状态转移公式。 动态规划利用自底向上的递推方式,实现时间和空间上的额最优化。