1.时间复杂度的分析 1.时间复杂度的分析 在算法分析中,当一个算法中包含递归调用时,其时间复杂度的分析可以转化为一个递归方程求解。也就是数学上求渐进解得问题,而递归方唱的形式多种多样,其求解方法也不尽相同。迭代法是求解递归方程的一种常用方法,其基本步骤是迭代地展开递归方程的右端,使之成为一个非递归 ...
分类:
编程语言 时间:
2018-12-15 15:44:06
阅读次数:
194
排序算法 算法分析 算法稳定性 如果一种排序算法不会改变关键码值相同的记录的相对顺序,则称为稳定的(stable) 不稳定的算法在某种条件下可以变为稳定的算法,而稳定的算法在某种条件下也可以变为不稳定的算法。例如,对于冒泡排序算法,原本是稳定的排序算法,如果将记录交换的条件改成a[j].key>=a ...
分类:
编程语言 时间:
2018-12-12 22:07:25
阅读次数:
326
题目:编写函数,对于给定的二维整型数组,首先对每行从小到大排序,之后对每列从小到大排序;反复执 行上述排序过程,直到没有变动为止。注:作为实参的二维整型数组,每行元素个数不低于 3 且每列 元素个数不低于 4。 算法分析: <!--[if !supportLists]-->1. <!--[endif ...
分类:
编程语言 时间:
2018-12-11 01:35:35
阅读次数:
180
一、算法介绍 快速排序:快速排序的基本思想是通过一次排序将等待的记录分成两个独立的部分,其中一部分记录的关键字小于另一部分的关键字。C部分的快速排序一直持续到整个序列被排序。 任取一个元素 (如第一个) 为中心提出所有小于它的元素,并将大于它的元素放回,形成左右两个子表。为每个子表重新选择中心元素, ...
分类:
编程语言 时间:
2018-12-10 23:29:04
阅读次数:
257
1)问题引导 从上面我们可以知道不同的结合方式,矩阵计算的次序数不一样,那么如何求这个最小次序数的划分,即如何结合。这就是矩阵连乘问题 使用动态规划可以解决 如下图,如果我们使用递归,则会产生大量的重复计算,复杂度太高,当然使用备忘录降低复杂度。不过更好的是使用递推 递推算法分析如下: ...
分类:
其他好文 时间:
2018-12-06 01:34:32
阅读次数:
331
分析 使用 easing easing 的感官目的是为了 draw 的时候,画的图形不是即时 mouseX 的值,而是稍有落后一点。从算法分析,就是让所画图形的 x 坐标 落后于 mouseX 的值,并且朝 mouseX 的方向进行运动。程序如下: draw()的第一行中,将 mouseX 的即时的 ...
分类:
其他好文 时间:
2018-12-05 02:21:07
阅读次数:
215
算法分析的一般步骤: 1、文字描述:如果一个算法文字描述不清楚,就说明思路不清楚,也不可能写好。 prim算法是实现图的最小生成树。既然是图,就假设包含n个顶点,m条边。prim算法是从顶点出发的,其算法时间复杂度与顶点数目有关系。 (注意:prim算法适合稠密图,其时间复杂度为O(n^2),其时间 ...
分类:
编程语言 时间:
2018-11-30 00:32:47
阅读次数:
193
KMeans KMeans是一种无监督学习聚类方法, 目的是发现数据中数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。 无监督学习,也就是没有对应的标签,只有数据记录.通过KMeans聚类,可以将数据划分成一个簇,进而发现数据之间的关系. 原理 KMeans算法 ...
分类:
编程语言 时间:
2018-11-26 23:18:27
阅读次数:
380
全网把Map中的hash()分析的最透彻的文章,别无二家。 2018年05月09日 09:08:08 阅读数:957 2018年05月09日 09:08:08 阅读数:957 阅读数:957 你知道HashMap中hash方法的具体实现吗?你知道HashTable、ConcurrentHashMap ...
分类:
编程语言 时间:
2018-11-22 23:51:29
阅读次数:
194
数据结构与算法分析-AVL树深入探讨数据结构与算法分析-AVL树深入探讨Table of Contents1. 数据结构之-AVL树深入探讨1.1. AVL树介绍1.2. AVL树的四种不平衡情形1 数据结构之-AVL树深入探讨之前学习数据结构与算法分析C语言描述的时候, 学到了AVL树, 陷入了重... ...
分类:
编程语言 时间:
2018-11-19 22:37:35
阅读次数:
155