公告:本站的内容是个样例,是北侠数据APP中《数据结构》部分的选摘。

北侠数据APP切入四大方面:数据结构,SQL,分布式,大数据。

知识很多,信息爆炸;人也很多,内卷严重。但是,有人情味的地方并不多,北侠希望这个APP是个有人情味的IT学习工具。

如何下载和使用APP呢?

(1)使用APP是需要付费的。大家都是搞开发的,知道开发软件的成本,所以这款APP是收费的,外面人的话,90元/每年,而内部人士(社群的成员)则是60元/年。除了APP以外,还有支持APP运行的视频号,北侠会在某周五的晚上,抽点时间开个直播,聊一聊APP上的内容。

(2)预计4月份上线,目前开启了预报名申请。可微信联系北侠:beixia333。付款之后,北侠会登记上,APP上线会通知大家的。

(3)这个APP计划开放2000个名额。人数太多了,北侠个人也难以应付,所以限制人数了。当前已经有10+预报名申请。

前言

《北侠谈数据结构》系列内容,面向的对象是工作多年的职场老手,以便解开他们内心深处对于《数据结构》这门课的心结。

如果您是在校的学生,读大学也好,读研究生也好,此内容并不太适合您。因为您们这类人群追求的是刷题和得高分。不可否认,刷题有助于学习数据结构。类似于高考数学的题海战术一样,的确能考高分,但是又有几人在生活中真正把数学应用起来呢?

《北侠谈数据结构》目的是让大家对数据结构产生兴趣,从而有深刻的印象,进而在潜移默化中提升自己的水平。

以红黑树为例,教材和题库只会告诉你,红黑树的规则、节点增删过程、考题类型,但是,它们不会告诉你为什么叫“红黑树”。在这里,北侠会告诉你,红和黑是数学里面的一种习俗表示,很早之前有个先人做了一个对数表,用的是黑数和红数来表示的,后人就往往采用了红黑这种形式。如此解释一番,虽然不如刷题百道来的实在,但是你对红黑树的理解肯定印象很深,哪怕再过十年,你能记住的往往是红黑的解释,而非刷过的题。

《北侠谈数据结构》不仅仅是讲数据结构,更重要的分享和传授北侠自己的学习之道。先哲通过对生老病死不一样的理解,创立了“佛教”。北侠远不及古代贤哲,只是一些个人独到理解,仅仅算是一个“小教”而已。在这个“小教”里面,北侠宣扬:数组是最伟大的数据结构,掌握了数组就掌握了整个数据结构。对此观点,有的人可能会嗤之以鼻,这类人其实大错特错。学好数据结构一定要有一个切入点,有切入点之后才能进行延伸和深化,报以“嗤之以鼻”态度的人,往往没有自己的切入点,没有体验过切入,理解不了这种体验,所以不以为然。

选好切入点是学好数据结构的第一步,如果你找不到切入点,那么就跟随北侠的脚步,把数组当做切入点。可别小看数组这么简单的数据结构,任何一门招式,练习到家了,就是一门绝活儿,一片树叶就可以杀人的。请看下面的故事:丰富的数组知识让我击碎了挑衅。

之前遇到了一个向我挑衅的人,质疑我的水平,非要看我写的代码质量如何。与其让他看我写的代码,不如我给他的代码挑错。因为他未必是个识货的人,所以未必能看透我的代码。不如我去读他的代码,找出破绽,颠覆他的观念,给他一个冲击,更能击败他的挑衅。他给我发的自己写的代码如下所示:



他质疑我像刚毕业的,更不像一个大厂出来的人。我不动声色,只是暗自好笑。他发给我的代码截图,我匆匆看了一眼就发现了问题,有这么一行代码:


String urlPrefixes = new String[]{""};

我猜透他的心思了,urlPrefixes是当做占位符来用的,那问题就来了:既然是占位符,用长度为1的数组当展位符,岂不是化蛇添足,我告诉他,占位符应该这样用:


String urlPrefixes = {};

开始他还扭转不过来思路,经过我的几番解释,终于明白了,最后服气了:



说心里话,我真不希望有人向我挑衅,一方面这会耽误我不少时间,对我没有什么帮助和提升;二是大凡挑衅、质疑我的人也不会向我交学费啊,先恶心我一番,最后在跟我的交锋中获得成长。希望不要再有人向我挑衅了,我觉得技术不是用来炫耀的,而做人是要踏实的!


有的人学到的知识很呆板,而有的人学到的知识充满灵性。什么是充满灵性呢?知识的背后有丰富的想象力,他能把知识联系起来。例如Java里面的赋值,联想到shell里面的赋值,还有Java null的用法,还有内部类与函数的关系,还有线程与队列的关系等等。

虽然数组的知识看似简单,但是深入挖掘却能发现很多的东西。我从数组挖掘到了哈希,另外,我对kafka也很有见地,因为我把它当做一个大的数组来看待的。kafka这个框架,硬生生的造了很多的新的技术术语和设计理念,学习起来还是有一定的难度了,很多人看了一遍书,感觉会了,转身就忘记了。而我把kafka当做一个大数组,然后再附加各种分布式设计理念,既丰富了我的数组知识,又让我对kafka了解的更深了,一举两得。



北侠谈数据结构 @ 2021年