iOS - 算法篇
文章平均质量分 77
zhao_XiaoHuaZi
以简单实际的例子理清iOS学习中迷惑!!
展开
-
iOS算法篇(一)快速排序算法
快速排序是当遇到较大数据时,排序快,高效的方法(公司面试时,基本上会被问到...)该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。简单地理解就是,找一个基准数(待排序的任意数,一般都是选定首元素),把比小于等于基准数的元素放到基准数的左边,把大转载 2016-06-05 19:16:02 · 640 阅读 · 0 评论 -
iOS算法篇(二)选择排序算法
经典排序算法 - 选择排序Selection sort顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,顺序放入新数组,直到全部拿完再简单点,对着一群数组说,你们谁最小出列,站到最后边然后继续对剩余的无序数组说,你们谁最小出列,站到最后边再继续刚才的操作,一直到最后一个,继续站到最后边,现在数组有序了,从小到大效率稍高一些的转载 2016-06-05 19:18:45 · 574 阅读 · 0 评论 -
iOS算法篇(三)冒泡排序算法
冒泡排序:原理:冒泡顾名思义,就像气泡从水底冒出一样,它的排序方式是:研究了一下,它给人的感觉是像近视眼一样,它只能看见自己和紧挨着自己的下一个数字,所以它的排序方式也就是将比较元素和紧挨着自己的元素比较看是否交换位置,然后持续这个过程,比较的一直都是紧挨着的两个元素。下面看代码吧,再代码里面再详细解释。冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走转载 2016-06-05 19:20:47 · 1300 阅读 · 0 评论 -
排序算法的 时间复杂度 和 空间复杂度
常用的排序算法的时间复杂度和空间复杂度排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2)稳定 O(1) 快速排序O(n2)O(n*log2n)不稳定 O(log2n)~O(n)选择排序O(n2)O(n2)稳定 O(1) 二转载 2016-06-05 19:22:23 · 481 阅读 · 0 评论 -
iOS中几种常见的查找算法的比较
一、顺序查找 条件:无序或有序队列。 原理:按顺序比较每个元素,直到找到关键字为止。 时间复杂度:O(n)二、二分查找(折半查找) 条件:有序数组 原理:查找过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束; 如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。 如果在转载 2016-06-05 19:24:05 · 1962 阅读 · 0 评论