
iOS 算法与数据结构
@福者
曾研究银行技术部,奇虎360,字节跳动......等工作。研究技术已经是生活中不可缺少快乐,
展开
-
iOS 算法~动脑筋(逻辑思维)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄1、河左边有:狼、羊、白菜,一个人过河,一次只能带走一件东西,怎么做能够保证三物都到河右边?规则(狼吃羊、羊吃白菜) 答:先把羊带到对面,然后把白菜带到对面,这个时候把羊带走,把狼带回对面,回去再把羊带回对面。 2、有一张圆形的桌子,两个人轮流往桌子上放硬币,假设两人有无限多的大小原创 2017-06-15 10:50:10 · 661 阅读 · 2 评论 -
iOS 24种设计模式~原理图
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、24种设计模式原理图图1:单列模式图2:代理模式图3:备忘录模式图4:策略模式图5:抽象工厂模式图6:迭代器模式图7:访问者模式图8:工厂方法模式图9:简单工厂模式图10:观察者模式图11:建造者模式图12:解释器模式图13:命令模式图14:模板方法模式图15:桥接模式图16:适配器模式图17:外观模式图18:享元模式图19:原...原创 2017-09-06 22:22:55 · 587 阅读 · 0 评论 -
iOS 数据结构~链表图
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄一、链表概念链表(Linked List)是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,表现形式如下图所示:单链表:双链表:二、数组和链表区别:数组:数组元原创 2017-10-05 14:31:18 · 684 阅读 · 0 评论 -
iOS 算法~写一个函数,返回数字1-N排列组成的字符串,数字之间通过空格分离.例如1-5.返回”1 2 3 4 5”
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄问题:1.写一个函数,返回数字1-N排列组成的字符串,数字之间通过空格分离.例如1-5.返回”1 2 3 4 5”一、效果图:图1:图2:二、功能实现:方法1:#include原创 2017-11-03 10:06:55 · 492 阅读 · 0 评论 -
iOS 策略设计模式
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、策略设计模式 简介 1.概念: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 2.应用场景: *一个类在执行中使用多个if-else来决定行为。 *需要算法的各种变体。 *对客原创 2017-11-23 21:50:16 · 279 阅读 · 0 评论 -
iOS 算法~快速排序实现
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念: 快速排序: 是高快省的排序算法,在快速排序算法中,使用了分治策略。首先把序列分成两个子序列,递归地对子序列进行排序,直到整个序列排序结束。优点: 快速排序之所比较快,因为相比冒泡排序,每次交换是跳跃式的。每次排序的时候设置一个基准点,将小于等于基准点的数全部放原创 2017-12-23 10:14:50 · 2516 阅读 · 0 评论 -
iOS 算法~分段截取常数
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、错位分段相加,递归合并的过程 #include int Hamming_weight_3( int n ) { n = (n&0x55555555) + ((n>>1)&0x55555555); n = (n&0x33333333) + ((原创 2017-12-19 09:53:21 · 304 阅读 · 0 评论 -
iOS 开发常用的23种设计模式简介
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、概念 设计模式主要分三个类型:创建型、结构型和行为型。 二、创建型有: 1.单例模式(Singleton):保证一个类只有一个实例,并提供一个访问它的全局访问点 2.抽象工厂(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。...原创 2017-05-31 07:20:02 · 2050 阅读 · 4 评论 -
各个排序算法的时间复杂度和稳定性,快排的原理
//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138 群称:iOS 技术交流学习群排序图表:一、插入排序 每次将一个待排序的数据,跟前面已经有序的序列的数字一一比较找到自己合适的位置,插入到序列中,直到全部数据插入完成。二...原创 2018-02-27 14:11:12 · 37400 阅读 · 6 评论 -
iOS 算法面试题(冒泡排序、选择排序、链表逆序)~demo
//联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄 1、对以下一组数据进行降序排序(冒泡排序)。“24,17,85,13,9,54,76,45,5,63” int main(int argc, char *argv[]) { int array[10] = {24, 17, 85, 13, 9, 54, 76, 45, 5, 63};原创 2017-06-15 10:47:09 · 1633 阅读 · 1 评论 -
iOS 算法面试题(打印2-100之间的素数、求两个整数的最大公约数、查找字符串的位置)~demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、打印2-100之间的素数。 [cpp] view plain copy int main(int argc,const char * argv[]) { for (int i =2; i 100; i++) {原创 2017-08-13 15:46:06 · 2252 阅读 · 0 评论 -
iOS 算法 七大排序算法~ demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄#include#include #include #include#includeusing namespace std;#define RADIX_10 10#define KEYNUM_31 10void Swa原创 2017-08-16 09:40:12 · 1385 阅读 · 0 评论 -
iOS 算法 简单的二分法
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄二分查找法NSArray *numberArray = @[@1,@3, @27,@36, @42,@70, @82];NSInteger searchNum = 70;NSInteger mid;NSInteger min = 0;NSIn原创 2017-08-18 22:48:27 · 1058 阅读 · 0 评论 -
iOS 数据结构~链表简介
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、链表的历史 链表开发于1955-56,由当时所属于兰德公司(英语:RAND Corporation)的艾伦纽维尔(AllenNewell),克里夫肖(Cliff Shaw)和赫伯特西蒙(Herbert Simon)在他们编写的信息处理语言(IPL)中做为原始数据类型所编写。IPL被作者们用原创 2017-08-19 19:12:51 · 948 阅读 · 0 评论 -
iOS 算法~二分法(好处、特点、思路)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄使用二分法好处:可以加快寻找的效率。二分法的思路:它是通过与数组的中间值进行比较的步骤如下: 1.我们要查找的值为X 2.数组是从小到大排序的 ** 1.先取出数组中间的元素 2.把中间元素和X进行比较,如果中间元素大于X,那么X就位于第一个元素,和中间原创 2017-06-13 22:59:56 · 2568 阅读 · 0 评论 -
iOS 算法~十大算法基础总结
联系人:石虎 QQ:1224614774昵称:嗡嘛呢叭咪哄 QQ群:807236138群称:iOS 技术交流学习群算法一:快速排序算法:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明...原创 2017-06-14 08:22:19 · 9044 阅读 · 3 评论 -
iOS 常用排序算法~集合
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄//常用的排序算法#include using namespace std;typedef int ElemType;一、插入排序/* 1、插入排序 (1)直接插入排序算法 算法思想:将等排序列划分为有序与无序两部分,然后再依次将原创 2017-08-20 17:00:31 · 1004 阅读 · 0 评论 -
iOS 常见算法(二分法、冒泡 、选择)~性能demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、二分法:/** 循环的基本次数是log2N,所以:平均时间复杂度:O(log2n) 辅助空间是常数级别的所以:空间复杂度:O(1) 稳定性:稳定 */int halfFuntion(int a[],int length, int number){原创 2017-08-13 14:48:25 · 473 阅读 · 0 评论 -
iOS 算法面试题(字符串逆序输出、二叉树、归并排序)~demo
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄一、字符串逆序输出1、实现一个字符串“how are you”的逆序输出(编程语言不限)。如给定字符串为“hello world”,输出结果应当为“world hello”。 [cpp] view plain copy int spliterFu原创 2017-08-13 16:02:41 · 2722 阅读 · 0 评论 -
iOS 单例设计模式
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念 单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式1.单例的作用 整个应用或系统只能有该类的一个实例,即是在整个项目中,这个类的对象只能被初始化一次。单例类保证了应用程序的生命周期中有且仅有一个该类的实例对象,而且易于外界访问。2.iOS单例模式应用场景 单例模式泛应用于某些需要全局共享的资源...原创 2018-02-16 23:53:08 · 455 阅读 · 0 评论