赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
直接插入排序是一种简单的排序方法。具体做法是:在插入第i个记录时,已经排好序,这时将与前i个记录依次比较,找到插入的合适位置,插入位置及其后的记录依次向后移动。
举例:
算法:
直接插入排序法在最好情况下(待排序列已按关键码有序),每趟排序只需作1次比较且不需要移动元素,因此n个元素排序时的总比较次数为n -1次,总移动次数为0次。在最坏情况下(元素已经逆序排列),进行第i趟排序时,待插入的记录需要同前面的i个记录都进行1次比较,因此,总比较次数为
由此,直接插入排序是一种稳定的排序算法,其时间复杂度为
n个记录进行简单排序的基本方法是:通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(
举例:
简单选择排序法在最好情况下( 待排序列已按关键码有序)不需要移动元素,因此n个元素排序时的总移动次数为0次。在最坏情况下( 元素已经逆序排列),每趟排序移动记录的次都为3次(两个数组元素交换值),共进行n -1趟排序,总移动次数为3(n -1)。 无论在哪种情况下,元素的总比较次数为
由此,简单选择排序是一种不稳定的排序方法, 其时间复杂度为O(n)。排序过程中仅需要一个 元素的辅助空间用于数组元素值的交换,空间复杂度为0(1)。
n个记录进行冒泡排序的方法是:首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录的值,然后比较第二个记录和第三个记录的关键字,以此类推,直至第n-1个记录和第n个记录的关键字比较完为止。上述过程称作一趟冒泡排序,其结果是关键字最大的记录被交换到第n个位置。然后进行第二趟冒泡排序,对前n-1个记录进行同样的操作,其结果是关键字次大的记录被交换到第n-1个位置。当进行完第n-1趟时,所有记录有序排列。
举例:
冒泡排序法在最好情况下(待排序列已按关键码有序)只需作1趟排序,元素的比较次数为n-1且不需要交换元素,因此总比较次数为n-1次,总交换次数为0次。在最坏情况下(元素已经逆序排列),进行第i趟排序时,最大的i-1个元素已经排好序,其余的n-(i-1)个元素需要进行n-i次比较和n-i次交换,因此总比较次数为
由此,冒泡排序是一种稳定的排序方法, 其时间复杂度为
快速排序的基本思想是:通过一趟排序将待排的记录划分为独立的两部分,称为前半区和
后半区,其中,前半区中记录的关键字均不大于后半区记录的关键字,然后再分别对这两部分
记录继续进行快速排序,从而使整个序列有序。
一趟快速排序的过程称为一次划分,具体做法是:附设两个位置指示变量i和j,它们的初值分别指向序列的第一个记录和最后一 个记录。 设枢轴记录(通常是第一个记录) 的关键字为pivot,则首先从j所指位置起向前搜索,找到第一个关键字小于pivot的记录时将该记录向前移到i指示的位置,然后从i所指位置起向后搜索,找到第一个关键字大于pivot 的记录时将该记录向后移到所指位置,重复该过程直至i与j相等为止。
举例:
快速排序算法的时间复杂度为
所谓“归并”,是将两个或两个以上的有序文件合并成为一个新的有序文件。从线性表的讨论可知,将两个有序表合并成为一个有序表, 无论是顺序存储结构还是链式存储结构,都是容易实现的。利用归并的思想可以进行排序。归并排序是把一个有 n个记录的无序文件看成是由n个长度为1的有序子文件组成的文件,然后进行两两归并,得到
举例:
n个元素进行二路归并排序的时间复杂度为
是稳定的排序方法。
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。