快慢指针简述 快慢指针经常用于链表(linked list)中环(Cycle)相关的问题。 1. 快指针(fast pointer)和慢指针(slow pointer)都从链表的head出发。 1. slow pointer每次移动一格,而快指针每次移动两格。 1. 如果快慢指针能相遇,则证明链表中 ...
分类:
编程语言 时间:
2018-10-23 14:39:59
阅读次数:
209
https://blog.csdn.net/daijin888888/article/details/66970902 一、算法的时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间 ...
分类:
其他好文 时间:
2018-10-22 14:46:16
阅读次数:
410
下载地址:网盘下载 备用地址:网盘下载 内容简介编辑“数据结构”是计算机专业的基础与核心课程之一,Java是现今一种热门的语言。本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。它不是从基于另一种程序设计语言的数据结构教材简单地“改编”而来的,因此在数据结构的实现上更 ...
分类:
编程语言 时间:
2018-10-13 21:42:03
阅读次数:
349
介绍 折半查找,又称作二分查找。这个查找的算法的特点,就是,要求数据要是有序的。 1 ,存储结构一定是顺序存储 2 ,关键字大小必须有序排列 然后,利用这组有序的数据之间的关系,来进行折半的查找。 比方说,这组数据是升序排列的。一开始,首先对比这组数据的中间的项与关键值(key)的关系。若是关键值( ...
分类:
其他好文 时间:
2018-10-13 02:23:16
阅读次数:
134
数据结构与算法 算法 数据结构与算法分析 编程珠玑 剑指 Offer 操作系统 现代操作系统 深入理解计算机系统 鸟哥的 Linux 私房菜 Unix 环境高级编程 Unix/Linux 编程实践教程 Operating Systems: Three Easy Pieces (OSTEP) 计算机网 ...
分类:
其他好文 时间:
2018-10-10 14:34:40
阅读次数:
167
Ensemble learning 集成算法 目的:让机器学习效果更好,单个不行,群殴走起 Bagging:并行 训练多个分类器取平均 全称:bootstrap aggregation(说白了就是并行训练一堆分类器) 最典型的代表就是随机森林啦 随机:数据采样随机,特征选择随机 森林:很多个决策树并 ...
分类:
编程语言 时间:
2018-10-04 10:06:59
阅读次数:
253
文字描述 用两个数组分别存储顶点信息和边/弧信息。 示意图 算法分析 构造一个采用邻接矩阵作存储结构、具有n个顶点和e条边的无向网(图)G的时间复杂度是(n*n + e*n), 其中对邻接矩阵G.arcs的初始化耗费了n*n的时间。 借助于邻接矩阵容易判定两个顶点之间是否有边/弧相连,并容易求得各个 ...
分类:
编程语言 时间:
2018-10-02 20:16:45
阅读次数:
234
http://blog.codinglabs.org/articles/linear-algebra-for-recursion.html 另介绍一种算法 Berlekamp-Massey算法,常简称为BM算法,是用来求解一个数列的最短线性递推式的算法。 ...
分类:
编程语言 时间:
2018-09-27 10:34:13
阅读次数:
120
最近写了一个限流的插件,所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法 分析之前 计数器算法 这个算法可以说是限流算法中最简单的一种算法了。 计数器算法的意思呢就是当接口在一个时间单位中被访问时,我就记下来访问次数,直到它访问的次数到达上限。 当一个请求过来时,我们就会 ...
分类:
编程语言 时间:
2018-09-27 01:55:48
阅读次数:
140
算法分析 (1)时间复杂度 从时间来看,排序的基本操作为:比教两个关键字的大小移动记录。 ...
分类:
编程语言 时间:
2018-09-22 17:05:58
阅读次数:
116