淘先锋技术网

首页 1 2 3 4 5 6 7

我看不懂数据结构是不是说明我笨啊?

数据结构是解决问题的,有一定的先后逻辑,为什么要这样,有哪些痛点。

比如,早期的时候我们用数组解决问题,当业务量大的时候,数组的痛点就来了,虽然查询速度快,但是插入和删除性能太差。

这个时候,因为上面的痛点,才发明了链表,插入和删除性能好,但是查询又不够快了。

然后,又发明了tree,二叉树结构,查询速度还行,插入删除也还行,但是后来发现普通的二叉树容易发生偏科现象。

接着,又有人发明了不偏科的平衡二叉树,代表的有红黑树,能自行平衡。

当然,聪明的人很多,陆续出山的数据结构,还有hashtable,结合了数组、链表和红黑树,显得更优秀了一点。

还有,redis中用到的跳表,也很不错,值得研究研究。

有了这些知识以后,可以去研究一下mysql,或者elk中用到的数据结构,mysql的索引为什么那么快,用的是btree,为什么要用btree。elk为什么查询速度那么快,什么是倒排,等等。