1 大O:数步数 数步数 为了统一描述,大O不关注算法所用的时间,只关注其所用的步数。 数组不论多大,读取都只需1步。用大O记法来表示,就是:O(1) 很多人将其读作“大O1”,也有些人读成“1数量级”。一般读成“O1”。虽然大O记法有很多种读法,但写法只有一种。 若用大O记法来描述一种处理 ...
第一次在 算法导论 中看到这三种渐进记法的符号,当时对此一窍不通,所以也就没有注意它们,直接把他们忽略了,知道学习算法的时候,才知道当初的做法有多傻,因为一个算法的好坏以及复杂度,可以用它们来表示。现在我学习过程当中用的最多的是O g n ,大概是老师认为我们还不具有算法设计分析与优化的能力吧。 先声明一下:本文不会对算法的时间复杂度和空间复杂度进行讨论,大家可以查看别的博客。 好了,首先介绍一下 ...
2016-09-21 22:55 0 1672 推荐指数:
1 大O:数步数 数步数 为了统一描述,大O不关注算法所用的时间,只关注其所用的步数。 数组不论多大,读取都只需1步。用大O记法来表示,就是:O(1) 很多人将其读作“大O1”,也有些人读成“1数量级”。一般读成“O1”。虽然大O记法有很多种读法,但写法只有一种。 若用大O记法来描述一种处理 ...
...
文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的。 1. 打开文件 使用 open 函数来打开文件,语法如下: 1.1 文件模式 open 函数除了必须提供的文件名参数外,其实还有一个 mode 的模式参数,如果没有指定参数 ...
IP地址介绍 1.IP地址共32bit(位),以点分十进制的方法表示(如x.x.x.x)。其中每一个x位8bit, 取值范围(00000000-11111111),对应的十进制取值范围是(0-25 ...
三色标记法是传统 Mark-Sweep 的一个改进,它是一个并发的 GC 算法。 原理如下, 首先创建三个集合:白、灰、黑。 将所有对象放入白色集合中。 然后从根节点开始遍历所有对象(注意这里并不递归遍历),把遍历到的对象从白色集合放入灰色集合。 之后遍历灰色集合,将灰色 ...
比较形象的是下面这张图. 转自康奈尔笔记法适合哪种科目?- 优彼致愿 EDU 在markdown下面想用康奈尔笔记法的话建议使用两条---分割出三个区域,如下所示。 实际在Obsidian里面看起来是下图这样的,这样能重点看到线索和总结,记录对应细节,在Obsidian里面 ...
分析算法时间复杂度时,把注意力集中到关键的操作上。几种渐进符号 大写O符号f(n)=O(g(n)),这里f(n)是分析出来算法的执行次数的函数,O的定义:当且仅当存在正的常数c和n0,使得对于所有的n>=n0,有f(n)<=cg(n)。这里cg(n)就是函数f(n)的上限 ...
前言 本文主要介绍了三色标记法的基本思路、多标导致的浮动垃圾、漏标的处理方案(读写屏障)等。 1. 垃圾回收的简单回顾 关于垃圾回收算法,基本就是那么几种:标记-清除、标记-复制、标记-整理。在此基础上可以增加分代(新生代/老年代),每代采取不同的回收算法,以提高整体的分配和回收 ...