Java 中集合类的实现用到了很多经典的数据结构,这些数据结构带来的好处是什么,原理是什么,这些就可以在《数据结构与算法》这门课程中找到答案

前一段时间某个大数据比赛,因为智商不行只能洗数据和刷特征,有一次因改变了脚本数据结构(以及相对应的算法),把原本O(n^2),优化成O(n),对于需要频繁尝试不同的特征来验证模型的需求说,显然我加快了进度。而对于其他偏向底层和实时性的应用来说,数据结构和算法更为重要。
 
重要的不是你学会了编程,而是你学会了把实际问题转换为合适的数据结构的思想
数据结构的作用,就是为了提高硬件利用率。
比如操作系统需要查找用户应用程序"office"在硬盘的哪个位置,盲目的搜索一遍硬盘肯定是低效的,这时候搞个b+树作为索引,搜索office这个单词就很快,然后就能很快的定位office这个应用程序的文件信息,再找到文件信息中对应的磁盘位置了。

数据结构的东西找本《算法导论》,《数据结构与算法分析》之类的看吧。
数据结构:是不是觉得红黑树很高大上,好看不好用?去看看linux内核中有关查找的算法,用到红黑树的很多;再去看看最近已经在Fedra中取代ext4的文件系统btrfs,它用到的底层结构是B+树。看到了这些活生生的实例,你就会明白数据结构不仅仅是躺在教科书上的标本了。

posted on 2017-02-22 13:54  秋冷桂团团  阅读(116)  评论(0)    收藏  举报