疯狂店员2Clerks II
时间过去了10年,当年的两个死党但丁和兰德尔已经是年近三十的“而立青年”。他们早已被那两家新泽西的小超市解雇,打算移驾到一家叫做“Mooby’s”的连锁快餐店,成为同事并继续他们的小店员生涯。虽然还是
TAG 相关标签
6 用户评论
# Meta
- 这部剧太水了, 用来做数据结构和算法的入门都难以做到
- 充斥着一种我若是买了纸质书, 我就是冤大头的feel
- 于我而言唯一的亮点在快排引出的快速选择算法
# Text
- (https://weread.qq.com/web/reader/689329a0718ff663689395dkc81322c012c81e728d9d180)
### C1-C6 大O, 几种排序算法
-C1 数据结构为何重要
- 数组, 读取, 查找, 插入, 删除
- 集合, 不允许有重复元素, 插入前需要查找一遍看看是否已有
- 国外的算法数, 对数据结构的分类和我熟悉的那一套稍有不同
---
- C2 算法为何重要
- 查找有序数组, 线性查找vs二分查找
- 前面的内容比较水, 难以为一章, 再往后看看
---
- C3 大O记法
- “大O记法可用来描述一个函数的增长率的上限”,或者“如果函数g(x)的增长速度不比函数f(x)快,那么就称g属于O(f)”
- 若无特别说明,大O记法一般都是指最坏情况。因此尽管线性查找有O(1)的最好情况,但大多数资料还是把它归类为O(N)
- 对数时间, O(logN)意味着该算法当数据量翻倍时,步数加1, logN其实指的是log_2 N, 省略了2
- log_2 8 可以表达为:将8不断地除以2直到1,需要多少个2
---
- C4 运用大O来给代码提速
- 冒泡排序, 比较次数n^2, 交换次数n^2
---
- C5 用或不用大O来优化代码
- 选择排序, 比较次数n^2, 交换次数n, 选择比冒泡快
- 大O记法忽略常数
---
- C6 乐观的调优
- 插入排序
- 大O只保留最高阶的N
- 最坏情况(完全逆序的序列), 冒泡n^2, 选择n^2/2, 插入n^2+2n-2
- 选择排序是无论何种情况,最坏、平均、最好,都要N2/ 2步。因为这个算法没有提早结束某一轮的机制,不管遇到什么,每一轮都得比较所选索引右边的所有值
### C7-C10 散列表, 栈和队列, 递归, 快排
- 将字符串转为数字串的过程就是散列,其中用于对照的密码,就是散列函数
- 既要避免冲突,又要节约空间
- 数据量与格子数的比值称为负载因子
- 快速排序严重依赖于分区, 它的运作方式如下所示
- 把数组分区。使轴到正确的位置上去
- 对轴左右的两个子数组递归地重复第1、2步,也就是说,两个子数组都各自分区,并形成各自的轴以及由轴分隔的更小的子数组。然后也对这些子数组分区,以此类推
- 当分出的子数组长度为0或1时,即达到基准情形,无须进一步操作
- 快排, 平均O(NlogN), 最坏O(N^2), 但是稳定
- 利用快排分区的思想, 可以写快速选择算法, 选出数组中第n大的元素
- 比如我想找第3小的元素, 做一次快排的分区, 如果轴是第5小位置, 说明第3小一定在左面, 右面的那半就不要了
### C11-C15
- 链表, 二叉树, 图, 空间复杂度
- 太水了
文本流畅翔实,强烈推荐~唯一值得商榷的是作为英国作家,编剧对于英国决策层与指挥官的批评过于严厉,给予了俄国更多的“理解”
这分数也太高了吧。其实我一直觉得陈晓旭形似而神不似,褒奖过高了吧。还有湘云实在不是我理想中的湘云。
应该说一本经典的投资书,书中有些知识对现在跟受用边学边看,这是不可能会开一遍的书要反复看几遍会对未来很受用
南山我只想说现在疫情这么严重,哪里都去不了,都不能好好在家写书嘛!还是说南山你已经被隔离治疗了没有时间写。
一个全新的视角。想让百岁人生成为一种祝福而不是诅咒,决定权不在政府,也不是企业,而是我们每一个人。我们必须用未来的自己来拯救现在的自己,进行全方位的储蓄,从有形资产到无形资产。