摘要:
回溯法解题的关键要素 回溯法解题的关键要素 确定了问题的解空间结构后,回溯法将从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。开始结点成为活结点,同时也成为扩展结点。在当前的扩展结点处,向纵深方向搜索并移至一个新结点,这个新结点就成为一个新的活结点,并成为当前的扩展结点。如果在当前的扩展结 阅读全文
摘要:
排序 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)。 删除操作主要考虑有两个儿子的情况,一 阅读全文