我看不懂数据结构是不是说明我笨啊?
数据结构是解决问题的,有一定的先后逻辑,为什么要这样,有哪些痛点。
比如,早期的时候我们用数组解决问题,当业务量大的时候,数组的痛点就来了,虽然查询速度快,但是插入和删除性能太差。
这个时候,因为上面的痛点,才发明了链表,插入和删除性能好,但是查询又不够快了。
然后,又发明了tree,二叉树结构,查询速度还行,插入删除也还行,但是后来发现普通的二叉树容易发生偏科现象。
接着,又有人发明了不偏科的平衡二叉树,代表的有红黑树,能自行平衡。
当然,聪明的人很多,陆续出山的数据结构,还有hashtable,结合了数组、链表和红黑树,显得更优秀了一点。
还有,redis中用到的跳表,也很不错,值得研究研究。
有了这些知识以后,可以去研究一下mysql,或者elk中用到的数据结构,mysql的索引为什么那么快,用的是btree,为什么要用btree。elk为什么查询速度那么快,什么是倒排,等等。