首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【机器学习经典案例】从白富美相亲看特征预处理与选择(下篇)

    1.剧情一:挑螃蟹的秘密 李雷与韩梅梅的关系发展得不错,趁国庆休假一起来天津玩。今天,李雷十分神秘地请韩梅梅去一家餐馆吃螃蟹。韩梅梅大失所望,这个餐馆很不起眼,感觉就像路边的老食堂。菜单都用粉笔写在黑板上,一点都不高档。一看价格,满黄螃蟹120块钱一只!这也太贵了。 李雷看到了韩梅梅的神情,笑着解释道:“这家店老板有一个绝活——会看螃蟹。他能保证120块的螃蟹就是满黄。如果拆开来不是,这个螃蟹就不要钱,再换一个。靠着老板的绝活,这家店已经是几十年的老店了,在当地非常有名气。郭德纲、赵丽蓉这些天津社会名流都来

    08

    块状链表

    的复杂度,而如果将整个块状链表维护成有序的,它甚至可以实现平衡树的一些操作[1],毕竟平衡树也可以看作是一种维护序列的方法。 又因为块状链表只在每个分块记录一些额外信息,它的空间利用率很高,而同是模拟方法的Splay需要在每个节点上维护全部额外信息,虽然速度比较快,却占用大量内存[2]。 其实,在日常生活中我们经常会用到块状链表:传统的FAT文件系统就是将磁盘扇区分簇,然后用FAT表(FileAllocation Table 文件分配表)来记录每一个簇的状态:是否损坏,是否被使用,如果被使用那么它的下一个簇是哪一个簇。可见,FAT文件系统的思想和块状链表是一致的。 而且因为块状链表空间利用率很高,分块的结构又能很方便的和缓冲区结合使用,Vim[3]也使用了块状链表,在内存的存储和在磁盘上的缓冲都使用了类似块状链表的结构[4]。试想如果用Splay去写一个文本编辑器会是多么复杂而抽象,它又如何方便地利用缓冲区,一旦发生崩溃、断电等意外事件,又如何从磁盘缓冲中重构树结构、恢复数据? 另外,已经有人在g++的<ext/rope>库中写了一个基本的块状链表模板:__gnu_cxx::rope<T, Alloc>,也就是说,使用C++的同学可以很方便的得到一个现成的块状链表[5]。

    02
    领券