Bulingfeng Blog

「背后的努力决定人生的高度」

迭代器

迭代器

迭代器简介 迭代器其实通俗的来讲就是遍历(loop)容器的一些过程,场景的迭代方式有 for循环、for-each循环、迭代器、forEach()函数。 Iterable和Iterator区别 其实根据名称也能够探寻一二,就拿Iterator来说把,一看带是以or结尾的,那么就这个这个接口肯定就是执行迭代执行人嘛。转换成专业术语来说,可以这么来理解: Iterable这个接口负...

贫穷的本质

贫穷的本质

Hello everybody, I am your teacher - Li Yongle. Somebody PM’ed me recently That he borrowed thousands of yuan from an online loan in order to buy a high-end phone. Then it became over ten thousa...

java容器梳理

java容器梳理

容器总览 关于ArrayList和LinkList的准确描述 ArrayList并不是所有的插入都是很慢的,如果是数据的数量没有超过数组的最大值,并且还是插入到最后,那么这个时候插入也是O(1)的复杂度。只有ArrayList每次都在插入到首位才是O(n)的复杂度,英文对应的数据都要向后进行移动。 同样LinkList也不是所有的插入都是快的,对于双向链表来说,插入头部和尾部都是很...

Lost In Tailand

Lost In Tailand

今天突然发现通过电影来学习英语其实是一件效果非常好的事情,原因如下: 电影中有大量的生活常用语,这样语言更贴近地气,既然是生活用语,那么自己也可以在生活中使用或者模仿这个电影中的用语。 youtube上下载电影字幕的方式太简单了,这样自己只需要几秒钟就可以把整个电影的字幕都下载下来从而方面自己学习 看好电影,然后再朗诵或者背诵字幕的...

数据结构与算法之美

链表 链表的分类 单向链表; 单向循环链表; 双向链表; 一些误区 既然链表的删除是O(1),那么单向链表和双向链表的删除效率是一样的?因为还需要进行查询,所以查询的时间是O(n),但是如果制定某个节点,那么双向链表查询就是O(1),因为它天然存储了上一个节点指针。 链表的删除主要的时间其实都浪费在查询...

设计模式

设计模式

设计模式 设计的原则和思想比设计模式更重要,有了这些原则和思想我们可以创造出来自己的设计模式。 其实学习是有方法论的,自己要学习大师是如何思考,这个才是最重要的。 SOLID原则,分别代表如下原则: 单一功能原则 开闭原则 里氏替换原则 接口隔离原则 依赖反转原则 1.设计模式的分类 创建型;使用一些方...

再谈数组

再谈数组

为什么很多编程语言的数组都是从0开始的? 在讨论数组的之前,有没有考虑过以下几个问题? 为什么数组通过下标访问元素,时间的复杂度可以做到0(1),而链表根据下标访问却做不到0(1)的复杂度。 为什么大多数的编程语言的数组下标都是从0开始的而不是从1开始的。 在解答上面的两个问题之前呢,先来看下数组的定义吧。 数组的定义 数组(Array)是一种线性表数据结构。它用...

复杂度分析

复杂度分析

复杂度分析 为什么需要复杂度分析 有人说可以通过让代码跑一遍,然后进行统计和监控来得到结果。然后跑多次来进行结果的对比。这种方法叫做事后统计法。 这种方法有很严重的缺陷: 测试结果非常依赖于环境; 测试结果非常受数据规模的影响; 大O复杂度表示法 不运行代码的情况下,一眼能看出来代码的执行效率。 方法可...

关于当前对比特币一些思考

比特币

今天突然明白或者说更深刻的明白了段总(段永平)为何只卖期权,而不买期权了。因为在他看来买期权就是在赌博。而卖期权呢,只要你守好不爆仓的原则,反过来说就是你知道你需要的是什么,你知道你正在做什么,那么对你来说,你就是control市场的那一方。你是想要实实在在的股票标的(sell put),还是到某个心理价位之后出售自己的标的(sell call)。sell的方式虽然赚钱很慢,但是会让你心理特...

当前比特币的一些思考

title: “关于当前对比特币一些思考” subtitle: “比特币” layout: post author: “bulingfeng” header-style: text tags: 投资 从现在的时间点来看,还有两个月的时间,btc将会发生减半。从历史上来看每次btc减半都伴随着价格的抬升然后开启新一轮的牛市。但是每次的牛市其实都伴随着疯狂的炒作。但是从目前来看,币圈...