banner

都会与其他程序竞争计算机资源。

程序不会过多在意这些事情。它只是会运行得稍微慢一点而已。不过有一个例外,那就是当许多程序一齐开始运行,互相竞争内存和磁盘时。为了性能调优,如果一个程序必须在启动时执行或是在负载高峰期时执行,那么在测量性能时也必须带上负载。

tips

在 2016 年早期,台式计算机有多达 16 个处理器核心。手机和平板电脑中的微处理器也有多达 8 个核心。但是,快速地浏览下 Windows 的任务管理器、Linux 的进程状态输出结果和 Android 的任务列表就可以发现,微处理器所执行的软件进程远比这个数量大,而且绝大多数进程都有多个线程在执行。操作系统会执行一个线程一段标来遍历数组。可以用模板将这种算法推广到包含==操作符的、任意类型的数组。尽管如此,这种算法仍然与一种特定的数据结构(数组)关联在一起。

下面来看搜索另一种数据结构——链表的情况(第12章使用链表实现了Queue类)。链表由被链接在一起的Node结构组成:

假设有一个指向链表的第一个节点的指针,每个节点的p_next指针都指向下一个节点,链表最后一个 节点的p_next指针被设置为0,则可以这样编写find_ll()函数:

同样,也可以使用模板将这种算法推广到支持==操作符的任何数据类型的链表。不过,这种算法也是与特定的数据结构——链表关联在一一位充分利用数据竞选的总统。据彭博等媒体报道,他的技术

团队通过脸书、推特等平台上的用户公开数据,如点赞、转发、收藏行为等,精准描述选民

画像,向他们推送因人而异的竞选广告。甚至特朗普的每条推特、每条脸书都是有针对性

的,不同内容对不同网民可见。

通过大数据对用户进行精准画像,这也是百度大脑擅长的领域。2016年十分火爆的电影

《魔兽》的出品方传奇影业与百度大脑合作,根据对百度海量用户的分析,将电影广告精准

推荐给潜在观众。虽然这部电影在北美市场票房不佳,但在中国大卖2.21亿美元。当魔兽粉

丝在影院里高喊“为了部落!”的时候,也许正是大数据悄悄赋予了