摘要:
Divide-and-Conquer: 教材中是用快排作为例子介绍分治算法的,主要的是几个式子: 最坏情况下的快排:T(n) = n + T(n-1) 最好情况下的快排:T(n) = n + 2*T((n-1) / 2) 随机情况下的快排:T(n) = n + 1/n * sum(T(i) + T( 阅读全文
摘要:
今天看了一下高级数据结构(主要是多维数组、广义表、AVL树、Splay树)的内容,AVL树的部分之前提过了就不讲了,参见《红黑树和AVL树》,挑了一些觉得重要或有意思的点写在这里,希望有错误的地方请不吝指正。 1、三元组存取稀疏矩阵(较多元素为0),以及使用十字链表的方式来记录稀疏矩阵 2、注意广义 阅读全文
摘要:
昨天晚上与今天重温了一下RB树和AVL树的部分,(其实是之前《索引笔记摘要》的FLAG)把觉得重要的一些东西写在这里和大家分享,不对的地方请不吝指正。 先谈谈红黑树。红黑树诞生的背景是为了保证插入、删除、查找的效率都是在O(logn),防止由于产生畸形的BST树对效率产生巨大影响。 红黑树的定义:每 阅读全文
摘要:
今天回顾了索引部分的内容,把一些觉得重要的东西写在这里,不对的地方请不吝指教。 1、原始数据文件是主文件、索引数据组成的文件是索引文件;一个主文件可能会有多个索引文件,可以通过索引文件来索引具有相同辅码的若干记录 2、稠密索引是指对每项记录都建立一个索引项,不要求数据的有序性等;但是稀疏索引是对已经 阅读全文
摘要:
今天回顾了一下检索部分的内容,写在这里和大家分享,有错误的地方请不吝指正。(挑一些觉得重要的点讲) 1、 考虑在线性表和散列表上的检索 2、 用ASL来表示检索的平均效率,要考虑失败和成功两种可能 3、 基于线性表的检索: 1) 顺序检索:对于一个有n元素的线性表,成功为, 失败为(设置了一个监视哨 阅读全文
摘要:
今天看了一些有关外排序的内容,把一些自己觉得重要的东西写在这里和大家分享,如有不当之处还请不吝指教。 1、 把外存中的数据划分为若干段读入内存再进行排序并输出 2、 外排序的时间构成:产生初始顺串的内排序时间 + 归并顺串的时间 + 初始化顺串和归并顺串的I/O时间 3、 置换选择排序:建立一个最小 阅读全文
摘要:
今天简单回顾了一下内排序的内容,感觉有些认识在以前比较模糊,所以又去重温了一下,写在这里希望和大家分享一下,第一次写作,不好的地方请不吝指正。 首先是三类简单的排序方法,分别是冒泡排序、直接选择排序、插入排序,分别是稳定的、不稳定的、稳定的。在这些基本的实现上有一些优化的方法,比如冒泡排序可以用一个 阅读全文