选择排序 思想 遍历无序列表,从中选出最小的元素,依次添加到新的列表中。 实操 实际操作的时候,并不是真的创建一个新的列表用来有序的存放数据,因为那样会造成额外的空间消耗,空间复杂度加大,所以其实一般都是用一个双层循环做遍历,在列表本地操作。 代码 ...
分类:
编程语言 时间:
2019-09-01 14:23:09
阅读次数:
92
因为有道ac自动机+状压dp的题,故开此坑。 状压dp:状态压缩dp(元素数量通常不超过20),借助位运算将状态压缩。 空间复杂度:O(n*n) 上一行的状态为now,下一行的状态为prev,通过枚举上一行所有状态,来更新当前行、当前状态的最优解。 给定n*m矩阵,行列都不超过20,有些格子可选有些 ...
分类:
其他好文 时间:
2019-09-01 01:11:58
阅读次数:
118
L 二、栈的动作: 结合函数调用栈的机制介绍一般函数调用的实现方式与过程,并将其推广到递归调用。 以降低空间复杂度的目标为线索,介绍通过显式的维护栈的结构解决应用问题的典型方法和技巧。 利用栈结构,实现基于试探回溯策略的高效搜索算法。 基于轮值策略的通用循环分配器,并以银行窗口服务为例实现基本的调度 ...
分类:
其他好文 时间:
2019-08-31 23:48:49
阅读次数:
188
有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。 注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完, 比如三个区间是 [1,2,2,3,3,3,3] , [1,2,2,3,3,3,3] 与 [1,1,2,3,3],就一起扔掉 ...
分类:
其他好文 时间:
2019-08-27 23:26:19
阅读次数:
124
相信凡是编程入门的都接触过冒泡排序算法,排序算法在编程中经常用到。 1. code 2. 算法分析 (1)时间复杂度 ? 若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数C和记录移动次数M均达到最小值: 所以,冒泡排序最好的时间复杂度为 O(n)。 若初始文件是反序的,需要进行n ...
分类:
编程语言 时间:
2019-08-27 00:48:54
阅读次数:
86
时间复杂度 时间复杂度误区: 1.时间复杂度不是运行的时间,而是算法语句的执行次数。 2.算法不仅仅指有名字的算法,一个判断和一个循环语句都算作算法的。 时间复杂度:算法语句被执行的次数。 一个算法语句的执行次数最终都是可以通过函数f(n)来表示的,如本代码,这里的x++就是算法语句,其f(n)=1 ...
分类:
其他好文 时间:
2019-08-26 20:50:28
阅读次数:
91
参考: https://leetcode cn.com/problems/word break/solution/dan ci chai fen by leetcode/ 暴力递归 超时,时间复杂度:O(N^N), 空间复杂度O(N): 递归的深度 BFS + 记忆,accept ...
分类:
其他好文 时间:
2019-08-26 00:09:18
阅读次数:
81
常用的排序算法: 快速排序的空间复杂度为log2n,没有n乘 ...
分类:
其他好文 时间:
2019-08-25 18:06:33
阅读次数:
47
```java package algorithm.sort; / @Auther: AaronPi @Date: 2019 4 27 23:01 @Description: 稳定性:待排序的序列中有想等值得元素排序后元素之间原有的先后顺序不变 原地排序算法:特指空间复杂度为O(1)的排序算法 / ...
分类:
编程语言 时间:
2019-08-25 13:41:21
阅读次数:
95
<语法及技巧><完全没思路> <抽象能力><知识短板> <...> (标签) 题目 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 反转一个单链表。 示例: 进 ...
分类:
其他好文 时间:
2019-08-25 00:47:08
阅读次数:
55