数组和链表的时间复杂度 数组和链表.pdf
2022-04-18 14:07:30 43KB 链表 算法 数据结构
数组和链表的时间复杂度 (1) 数组和链表.pdf
2022-04-18 14:07:29 43KB 链表 算法 数据结构
DBSCAN的时间复杂度 时间复杂度 DBSCAN算法要对每个数据对象进行邻域检查时间性能较低。 DBSCAN的基本时间复杂度是 O(n*找出ε-邻域中的点所需要的时间)。最坏情况下时间复杂度是O(n2) 在低维空间数据中,有一些数据结构如K-D树,使得可以有效的检索特定点给定距离内的所有点,时间复杂度可以降低到O(nlogn) *
2022-04-16 22:54:25 2.49MB DBSCAN OPTICS DENCLUE
1
速查表:常用算法和时间复杂度,算法数据结构 五大常用算法
2022-04-09 14:06:28 66KB 数据结构 算法
时间复杂度为O(logN)的常用算法,算法数据结构 五大常用算法
2022-04-08 14:07:42 26KB 数据结构 算法
求解找到数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)的算法,并分析其最坏情况的时间复杂度
2022-03-26 21:51:25 1KB Java
1
文档为主定理分析,主要用于递归形式,并且含有大量练习题和答案帮助记忆和消化。
2022-03-24 01:14:40 35KB 时间复杂度 主定理 练习题
1
比较直接插入排序、希尔排序、直接选择排序、堆排序、起泡排序、快速排序、归并排序、基数排序。随机生成一组待排序数据,个数不少于100个;各种算法对同一数据排序所需要的关键字比较次数和关键字移动次数,至少使用5组数据进行比较。1)插入排序:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。 2)冒泡排序:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 3)选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 4)Shell排序:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为 增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。 5)归并排序:设有两个有序(升序)序列存储在同一数组中相邻的位置上,不妨设为A[l..m],A[m+1..h],将它们归并为一个有序数列,并存储在A[l..h]。 6)快速排序:快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。 7)堆排序:堆排序是一种树形选择排序,在排序过程中,将A[n]看成是完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小的元素。 8)基数排序:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。
2022-01-09 16:07:08 2.13MB 排序算法 比较 时间复杂度
1
本程序主要演示了归并,插入,快排等几种排序算法在各种不同数据量的情况下的算法效率,适合编程新手对排序算法的认识和学习
2021-12-24 10:25:53 4KB 时间复杂度测试
1
求解找到数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)的算法,并分析其最坏情况的时间复杂度
2021-12-23 21:28:05 500B 算法
1