
常见算法
mechanic-heaven
这个作者很懒,什么都没留下…
展开
-
常见的查找算法
本文简单介绍一下7中查找算法,首先查找就是根据给定的值,在查找表中找到它的位置。 查找算法的分类: 静态查找和动态查找(都是针对查找表而言的。动态表示查找表中有增删操作) 无序查找和有序查找(有序查找要求必须为有序数列,无序则不要求) 平均查找长度(ASL):需要和目标关键字进行比较的次数 对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL = Pi*Ci的和。 Pi:查找表中...原创 2020-02-06 14:44:11 · 661 阅读 · 1 评论 -
常见的排序算法
常见的排序算法| 排序方法 平均时间 最好时间 最坏时间 冒泡排序(稳定 ) O(n2 ) O(n) O(n2) 选择排序(不稳定) O(n2 ) O(n2 ) O(n2 ) 插入排序(稳定) O(n2 ) O(n) O(n2) 希尔排序(不稳定) O(n1.5) 快速排序(不稳定) O(nlogn) O(nlogn) O(n^2) 归并排序(稳定) O(n...原创 2020-02-04 20:49:46 · 311 阅读 · 0 评论 -
字符串的全排列算法
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路 这是一个递归求解的问题,递归求解的四个特点: 1、必须有可达到的终止条件,否则程序陷入死循环 2、子问题在规模上比原问题小 3、子问题可通过再次递归调用求解 4、子问题的解应能组合成整个问题的解 对于字符串的...转载 2020-01-20 19:03:53 · 601 阅读 · 0 评论 -
快速幂
快速幂 朴素求幂法 最简单的求幂方法,时间复杂度O(n) int pow(int a,int b) {//a^b int ans = 1; for (int i = 1; i <= b; i++) { ans *= a; } return ans; } 快速幂 时间复杂度为O(logn),假设我...原创 2019-12-26 17:39:54 · 159 阅读 · 0 评论