ios各种排序算法

最近把面试需要准备的基础算法总结一下,包括冒泡排序,选择排序,快速排序,插入排序。

冒泡排序(从小到大排):始终从第一位依次拿相邻的两个数进行比较,大的数放后面,如果前面大于后面,则进行交换。【复杂度为n*n】

ios各种排序算法_第1张图片

选择排序(从小到大排):分别从第一位往后一次进行比较,若前者比后者大,则交换位置。 直到最后第二位跟最后一位比较完毕后,排序完成。

ios各种排序算法_第2张图片

快速排序:任意选取一个数据为关键数据,然后将所有比他小的放它前面,比它大的放到后面,这个过程称为一次快速排序。【最差时间复杂度:O(n2),最好时间复杂度:O(nlogn)】

ios各种排序算法_第3张图片

插入排序:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。【时间复杂度为:O(n^2)】

ios各种排序算法_第4张图片

你可能感兴趣的:(ios各种排序算法)