Scj System Analyst

算法基石

2021-07-10

本文旨在收集经典的算法,此处称之为算法基石。你可以通过这些算法根据具体的应用场景或算法背景进行 适当地变形,从而得到其他变种的算法或更高效的算法。

排序和查找

排序是不断将局部逆序变成局部正序,直到全局有序的过程。这个过程中可以采取以下一种或多种策略:

  • 交换:逆序的元素之间经过交换变成正序。交换可以有相邻交换、跨距交换
  • 选择:从待排序的元素中选出符合条件的元素,并追加到有序的列表中(头部或尾部),直到待排序的元素为空。
  • 归并:把局部分段有序的列表不断合并成更大有序段,直到全局有序。这其中会涉及到选择或交换。
  • 插入:已知一个有序列表(元素个数可以为0)和待排序列表,不断从待排序列表中逐个拿出元素不断插入到 有序列表中,直到待排序列表为空。
  • 计数排序:参见 计数排序
  • 桶排序: 参见 桶排序
  • 基数排序: 参见 基数排序

经典排序

查找或搜索

【注意】本文属于作者原创,欢迎转载!转载时请注明以下内容:

(转载自)ShengChangJian's Blog编程技术文章地址:

https://ShengChangJian.github.io/2021/07/foundation-of-algorithm.html

主页地址:https://shengchangjian.github.io/


Similar Posts

上一篇: git 常用技巧

下一篇: leetCode 题解

Comments

【目录】