摘要:
这里有两种情况:第一种是某xxx.m文件不存在或路径不对,而且里面有5.1什么的解决方法如下:在Build Phases-->Complie Sources中找到有两个xxx.m文件,一个正常,一个标红了xxx.m,只要把标红的丢失文件删除掉就行了。第二种是,里面有4.1什么的解决方法如下:在Bui 阅读全文
摘要:
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程分解 假 阅读全文
摘要:
我们通常所说的堆是指二叉堆,二叉堆又称完全二叉树或者叫近似完全二叉树。二叉堆又分为最大堆和最小堆。 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。数组可以根据索引直接获取元素,时间复杂度为O(1),也就是常量,因此 阅读全文
摘要:
快速排序是在面试中经常问到的算法题,也比较难掌握,特别是没有经常写算法的人儿。 算法思想 用笔者所理解的话来说,其算法思想是利用分而治之的思想,每一趟都保证左边比基准小,右边比基准大,而且递归划分排序。 一趟快速排序的算法是: 1、设置两个变量i、j,排序开始的时候:i=0,j=N-1; 2、以第一 阅读全文
摘要:
本篇来学习十大排序中的插入排序,学习其算法思想并尝试实现排序。 插入排序有两种:直接插入排序和折半插入排序。 直接插入排序 直接插入排序(4,3,1,2)的流程如下图: 对于每个未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其过程大概是这样的: 第一个元素就认为是有序的,取第二个元素, 阅读全文
摘要:
一起来学习选择排序的算法,今天跟大家一起来学选择排序算法。 将会使用C语言、ObjC和Swift分别来实现排序排序,并通过ObjC来举一个模型类选择排序的小例子,希望对大家在开发中应用算法有所帮助。 算法思想 选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同 阅读全文
摘要:
本篇一起来学习冒泡排序的算法,今天跟大家一起来学冒泡排序算法。 本篇将会使用C语言、ObjC和Swift分别来实现冒泡排序,并通过ObjC来举一个模型类冒泡排序的小例子,希望对大家在开发中应用算法有所帮助。 核心思想 算法最讲究的就是算法的思想,只要将算法思想想明白了,就可以通过伪代码来写出算法,那 阅读全文