排序 冒泡排序(Bubble Sort) 插入排序(Insertion Sort) 归并排序(Merge Sort) 快速排序(Quick Sort) 堆排序(Heap Sort) 计数排序(Counting Sort) 桶排序(Bucket Sort) 拓扑 ...
必备知识点 时间复杂度 时间复杂度是用来估算算法运行速度的一种方式,通常采用大O表示法。 需要注意以下几点: 时间复杂度指的不是算法运行的时间,而是算法运行的增速。 时间复杂度是估算,一些非必要的会省略。 通常表示为O n ,其中n为操作数。 快速判断时间复杂度的方法: 如果发现循环数减半,那么复杂度就是logn。 有几层循环就是n的几次方,不要在意具体循环几次。 递归 递归比较容易理解,有以下两 ...
2019-02-28 19:04 0 755 推荐指数:
排序 冒泡排序(Bubble Sort) 插入排序(Insertion Sort) 归并排序(Merge Sort) 快速排序(Quick Sort) 堆排序(Heap Sort) 计数排序(Counting Sort) 桶排序(Bucket Sort) 拓扑 ...
查找算法 查找( Search)是指从一批记录中找出满足指定条件的某一记录的过程,查找又称为检索。查找算法广泛应用于各类应用程序中。因此,一个有效的查找算法往往可以大大提高程序的执行效率。在实际应用中,数据的类型千变万化,每条数据项往往包含多个数据域。但是,在执行查找操作时,往往只是指定一个 ...
1)利用readData()函数从data1.txt中读入不同规模的数据存入数组,编写基于数组的顺序查找算法,测试数据量为1万、5万、10万、20万、30万、40万和50万时的数据查询时间。 算法代码如下: 2)利用readData()函数从data2.txt中读入不同规模的有序数据 ...
现在正在学习查找和排序,为了节省时间提高效率,就正好边学习边整理知识点吧! 知识点一:二分查找/折半查找 1.二分查找的判定树(选择题) 下列二叉树中,可能成为折半查找判定树(不含外部结点)的是: (4分) 注 ...
选择排序 概念 首先,找到数组中最小的那个元素,其次,把它和数组的第一个元素交换位置(如果第一个元素就是最小的元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素中地最小 ...
经过前面五篇排序方法的介绍,我们了解到了递归思想以及分而治之的归并和快速排序,当然也涉及到了比较简单易懂的数据值传递冒泡,选择,以及插入排序。可以说每一种排序方式都各有千秋,都适合在不同的环境下进行使用,但是我们有时会不会思考一个问题,那就是我们在学习插入排序的时候的主题思想是将每一个数据 ...
希尔排序又叫做递减增量排序。在这种排序中,我们将设置一个步长(增量),我们在比较数据时根据增量去进行比较,这样我们的数据会一次性前进很多步,所以希尔排序的效率要比直接插入排序的效率高。 希尔排序的思想就是我们设置一个步长,然后我们根据这个步长进行划分子序列,得到子序列1,子序列2.... ...
今天继续介绍一种排序算法:选择排序。 选择排序的基本思想就是从待排序列中选择出最小的,然后将被选出元素和序列的第一个元素互换位置(当前默认是升序排列),则互换完成后第一个元素就是整个序列的最小的元素,则一次选择排序结束。然后我们从剩下的子序列中选择出最小的,然后将该被选出来的元素和该子 ...