摘要:
1.聚类定义: 聚类算法将一系列文档聚团成多个子集或簇(cluster),其目标是建立类内紧密、类间分散的多个簇。换句话说,聚类的结果要求簇内的文档之间要尽可能相似,而簇间的文档之间则要尽可能不相似。 聚类是无监督学习(unsupervised learning)的一种最普遍的形式。无监督也意味着不 阅读全文
摘要:
子问题: 国王需要根据两个大臣的答案以及第9座金矿的信息才能判断出最多能够开采出多少金子。为了解决自己面临的问题,他需要给别人制造另外两个问题,这两个问题就是子问题。 思考动态规划的第一点 最优子结构: 国王相信,只要他的两个大臣能够回答出正确的答案(对于考虑能够开采出的金子数,最多的也就是最优的同 阅读全文
摘要:
回溯法解题的关键要素 回溯法解题的关键要素 确定了问题的解空间结构后,回溯法将从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。开始结点成为活结点,同时也成为扩展结点。在当前的扩展结点处,向纵深方向搜索并移至一个新结点,这个新结点就成为一个新的活结点,并成为当前的扩展结点。如果在当前的扩展结 阅读全文
摘要:
排序 1.主存能放下的数据进行排序称为内部排序,反之称为外部排序(磁盘上)。2.任何进行交换相邻元素进行排序的算法均需要O(N2)的复杂度,任何进行比较的排序算法至少需要O(N*log(N))的算法复杂度。 3.堆排序和归并排序的时间复杂度平均和最坏均为O(N*log(N)) 4.Java中执行一次 阅读全文
摘要:
1.哈希表最重要的作用是实现O(1)效率的查找,首先有一个哈希函数确定元素在表中的位置;其次是解决冲突,其实现主要有两种: (1)链地址法:数组+链表 (2)探测法(开放地址法,线性、二次):哈希函数为 H[i](x)= (hash(x)+f(i)) mod TableSize 。H[i](x)为表 阅读全文
摘要:
1. 此前二叉搜索树相关的内容我们均假设可以把整个数据结构存储在计算机的内存中,但是如果数据量过大时,必须把数据结构放在磁盘上,导致大O模型不在适用。目前计算机处理器每秒至少可以执行5亿条指令,磁盘访问一次需要大概10ms,1s可访问100次左右;这就意味着一次磁盘访问相当于执行50万条指令。所以导 阅读全文
摘要:
二叉树的一些定义: 树的高度:节点到页节点的最大长度。 树的深度:节点到根节点的长度。 树的遍历: 总是首先判断节点是否为空,三种递归遍历方式的时间均为O(N)。 1.二叉搜索树 左子小于根小于右子,平均深度O(logN),增删改查所需的操作均为O(logN)。 删除操作主要考虑有两个儿子的情况,一 阅读全文