MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)

静态搜索树

将N个元素有序的存储在一个完全二叉树的N个结点中。
  • 数据存储方式:
    • 在树位于中间层的边的位置将其分割为两部分。
      MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第1张图片
      递归的分割上一步骤分割后产生的所有子树,将所有子树线性的存储在内存之中。
      MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第2张图片
    • Ex:
      MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第3张图片
  • 存储传输量:
    MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第4张图片

缓存相关的算法

考虑缓存相关的算法一般是用来确定优化的上界。

B-搜索树排序

用N个元素构建搜索树,然后中序遍历这棵树。
  • 存储传输量:
    MT(N)=O(N·logBN)(缓存相关)
    O(N)阶就相当于随机访问内存得到的数量,所以这种排序算法的上界很糟糕。

归并排序

  • 缓存无关情况分析:
    • 存储传输量:
      MT(N)=2·MT(N/2)+O(N/B)
      MT(c·M)=O(M/B)
      MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第5张图片
      传输数据时每次传输内存中连续的M大小的数据,上图中递归树的高度为lg(N/M),MT(N)=N/B·lg(N/M)。
  • 缓存相关情况分析:
    MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第6张图片

  • 缓存无关排序
    MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)_第7张图片

你可能感兴趣的:(算法导论公开课笔记)