数据结构!咳咳,往前翻看了第一章,突然发现游鱼夸下海口,写这个系列不看语言。在脑子里面转了一圈,千难万难,规矩不能破。
额,脑子要炸了,鱼这篇是不是史上第一篇不看语言的数据结构论点。纯粹的无视语言写起来好像真的没头绪。ε=ε=ε=(#>д<)ノ。
瞎说:学了还是有用的
现如今所有的程序语言在更新换代中,已经给大多数基本的数据结构包装了底层的且完美的构建方法、插入方法、查找方法、排序方法。简单点说,翻开任意一本语法书,什么十大数据结构啊!三大查找算法啊!十大排序算法啊!不同语言的不同实现啊!只要没有到一定境界,都没有大佬们给娃娃们封装好的一个.sort()好用。
查找算法
排序算法
但是娃娃们还是不甘示弱,一定要学好数据结构。当我们的想象力和执行力已经不能被现有的基础封装满足时,再也找不到大佬们封装好的.sort()时,就是我们掏出对数据结构理解的时候了(在大多数人眼中数据结构相当没有正是这个原因,可以说,在基本的程序员生涯中,基本的封装和包已经填满了我们的生活,能用数组、列表和字典解决的需求就不是问题,不能解决的就说需求无法实现。游鱼也是天天沉迷于修改需求,哪有空优化数据结构,以提高执行效率哦)。
所以说啊,如果以后的路要是这么安排的:程序员——项目经理——架构师,这些东西其实就是面试的敲门砖。并不重要。
个别内容已删除,尝试失败。鱼想了想,单纯的无视语言很难找到逻辑上的共通点,举三个例子:数据结构List,其在C++中的实现是用的双链表,为链式存储结构。而在我们常见的java、c#、python就是顺序储存结构;再者链式储存结构的实现,两方因为对指针的看法不同,也有逻辑差异;最后动态语言和静态语言,也有各自的侧重点。不得不说越偏向基础,越难脱离语言特色。鱼准备好好想想,再去维继本系列数据结构这一部分。
第二章,此至。
网友评论