摘要: 在整理课程笔记前,先普及下课上没细讲的东西,就是下图,如果有个操作g(x),它最糟糕的时间复杂度为Ο(c2 * n),它最好时间复杂度是Ω(c1 * n),那么θ则为Θ(n)。简单来说:如果O和Ω可以用同一个多项式表示,这里为c * n,那么这个多项式n就是我们所要求的渐进紧的界θ了: 上节课我们讲 阅读全文
posted @ 2020-04-09 21:12 Alvin_Ai 阅读(675) 评论(0) 推荐(0)
摘要: 一、字典 在之前课里,如果我们要实现插入,删除和查找,使用树结构,最好的时间复杂度是AVL下的Ο(log2n),使用线性结构,最好的复杂度为基数排序Ο(n)。但如果使用字典数据类型去做,时间复杂度可为Ο(1)。下面是对字典和Python中字典的相关内容: 字典本质上就是一个直接可接入的表,每个键内可 阅读全文
posted @ 2020-04-08 15:12 Alvin_Ai 阅读(655) 评论(0) 推荐(0)
摘要: 在前6节课讲的排序方法(冒泡排序,归并排序,选择排序,插入排序,快速排序,堆排序,二分搜索树排序和AVL排序)都是属于对比模型(Comparison Model)。对比模型的特点如下: 所有输入items是黑箱(ADTs, Abstract Data Types); 允许的操作只有对比(<,≤,>, 阅读全文
posted @ 2020-04-07 18:13 Alvin_Ai 阅读(545) 评论(0) 推荐(0)
摘要: 之前第5节课留了个疑问,是关于“时间t被安排进R”的时间复杂度能不能为Ο(log2n)?”和BST时间复杂度Ο(h)的关系。第6节对此继续了深入的探讨。首先我们知道BST的h是指树的高,即从根到叶子结点最长路径的长度。但由于树结构不同平衡情况,高h的结果也不一样,如下图所示: 一、结点的高 由此可以 阅读全文
posted @ 2020-04-06 14:31 Alvin_Ai 阅读(780) 评论(0) 推荐(0)
摘要: 第5节课主要讲述了二分搜索树概念和BST排序。讲师提出一个关于“跑道预订系统”的问题,假设飞机场只有一个跑道,飞机需要为未来降落时间t进行预订,如果时间集合R中,在t时间前后k分钟内没有其他飞机着陆计划,时间t可以被安排进R中。那么请问“时间t被安排进R”的时间复杂度能不能为Ο(log2n)(假设R 阅读全文
posted @ 2020-04-04 23:41 Alvin_Ai 阅读(721) 评论(0) 推荐(1)
摘要: 第4节课仍然是讲排序,但介绍的是一种很高效的堆排序。 在编程过程中,有时候会需要进行extrat_max的操作,即从一个数列里挨个抽取最大值并将其它从原数列中移除。而排序问题也可以看作是一个extract_max的行为,不断的从原始数列中抽取最大值并进行移除,这样挨个抽取的最大值输出后能得到一个降序 阅读全文
posted @ 2020-04-04 12:19 Alvin_Ai 阅读(1156) 评论(0) 推荐(0)
摘要: 关于第2节课《Models of Computation, Document Distance》由于内容过于简单,所以不在这里进行记录,它主要就是讲了Python很多操作是constant time(即无C语言地址指针机制,所以比较费时且耗内存),此外就是谈及了一个文档距离(Document Dis 阅读全文
posted @ 2020-04-03 12:58 Alvin_Ai 阅读(1293) 评论(1) 推荐(0)
摘要: 最近在看《学习OpenCV3》这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程。首先请确保cuda,gcc, g++都安装好了,我这里是cuda 10.0,gcc-4.9.4和gcc-5.5.0,它们之间的版本只要是配套的应该就没问题,我原本是按照France 阅读全文
posted @ 2020-04-02 19:15 Alvin_Ai 阅读(4937) 评论(0) 推荐(0)
摘要: [MIT6.006] 系列笔记将记录我观看《MIT6.006 Introduction to Algorithms, Fall 2011》的课程内容和一些自己补充扩展的知识点。该课程主要介绍了一些基础的算法,课程主要内容分为以下八个模块: 模块 例子 Algorithmic Thinking 算法思 阅读全文
posted @ 2020-04-02 17:21 Alvin_Ai 阅读(3059) 评论(2) 推荐(1)
摘要: 记录下秋招期间看的一本Python工具书《Python语言与其应用》,查漏补缺,部分内容整理如下: 1. 易混淆概念 1.1 删除 - del,remove()和pop() 对于列表,有三种删除方法,分别是del,remove()和pop()。下面以a = ['a', 'a', 'b', 'c', 阅读全文
posted @ 2019-09-29 11:24 Alvin_Ai 阅读(434) 评论(0) 推荐(0)