随笔分类 -  Swift

Swift系列博文
摘要:在上一篇博客中,我们主要介绍了四种查找的方法,包括顺序查找、折半查找、插入查找以及Fibonacci查找。上面这几种查找方式都是基于线性表的查找方式,今天博客中我们来介绍一下基于二叉树结构的查找,也就是我们今天要聊的二叉排序树。今天主要聊的是二叉排序树的查找、插入与删除的内容,二叉排序的创建过程其实 阅读全文
posted @ 2016-11-18 09:20 青玉伏案 阅读(26450) 评论(8) 推荐(16) 编辑
摘要:今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容。本篇博客主要介绍查找表的顺序查找、折半查找、插值查找以及Fibonacci查找。本篇博客会给出相应查找算法的示意图以及相关代码,并且给出相应的测试用例。当然本篇博客依然会使用面向 阅读全文
posted @ 2016-11-15 09:19 青玉伏案 阅读(3540) 评论(1) 推荐(6) 编辑
摘要:上篇博客我们介绍了AOV网的拓扑序列,请参考《数据结构(七) AOV网的拓扑排序(Swift面向对象版)》。拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的,但是工期不是最优的。因为拓扑序列是一个串行序列,如果按照该序列执行项目,那么就是串行执行的。我们知道在一个项目中 阅读全文
posted @ 2016-11-10 09:23 青玉伏案 阅读(5542) 评论(0) 推荐(6) 编辑
摘要:今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的。拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划和实施过程,一个工程常被分为多个小的子工程,这些子工程被称为活动(Activity),在有向图中若以 阅读全文
posted @ 2016-11-08 09:21 青玉伏案 阅读(4080) 评论(2) 推荐(7) 编辑
摘要:上篇博客我们详细的介绍了两种经典的最小生成树的算法,本篇博客我们就来详细的讲一下最短路径的经典算法 迪杰斯特拉算法。首先我们先聊一下什么是最短路径,这个还是比较好理解的。比如我要从北京到济南,而从北京到济南有好多条道路,那么最短的那一条就是北京到济南的最短路径,也是我们今天要求的最短路径。 因为最短 阅读全文
posted @ 2016-11-02 10:30 青玉伏案 阅读(3656) 评论(0) 推荐(5) 编辑
摘要:上篇博客我们聊了图的物理存储结构邻接矩阵和邻接链表,然后在此基础上给出了图的深度优先搜索和广度优先搜索。本篇博客就在上一篇博客的基础上进行延伸,也是关于图的。今天博客中主要介绍两种算法,都是关于最小生成树的,一种是Prim算法,另一个是Kruskal算法。这两种算法是很经典的,也是图中比较重要的算法 阅读全文
posted @ 2016-10-28 09:24 青玉伏案 阅读(9526) 评论(2) 推荐(10) 编辑
摘要:开门见山,本篇博客就介绍图相关的东西。图其实就是树结构的升级版。上篇博客我们聊了树的一种,在后边的博客中我们还会介绍其他类型的树,比如红黑树,B树等等,以及这些树结构的应用。本篇博客我们就讲图的存储结构以及图的搜索,这两者算是图结构的基础。下篇博客会在此基础上聊一下最小生成树的Prim算法以及克鲁斯 阅读全文
posted @ 2016-10-26 09:34 青玉伏案 阅读(2416) 评论(0) 推荐(5) 编辑
摘要:前面两篇博客介绍了线性表的顺序存储与链式存储以及对应的操作,并且还聊了栈与队列的相关内容。本篇博客我们就继续聊数据结构的相关东西,并且所涉及的相关Demo依然使用面向对象语言Swift来表示。本篇博客我们就来介绍树结构的一种:二叉树。在之前的博客中我们简单的聊了一点树的东西,树结构的特点是除头节点以 阅读全文
posted @ 2016-10-24 10:14 青玉伏案 阅读(3512) 评论(2) 推荐(7) 编辑
摘要:数据结构中的栈与队列还是经常使用的,栈与队列其实就是线性表的一种应用。因为线性队列分为顺序存储和链式存储,所以栈可以分为链栈和顺序栈,队列也可分为顺序队列和链队列。本篇博客其实就是《数据结构之线性表的顺序存储于链式存储(Swift面向对象版)》这篇博客的应用。本篇博客会分别给出队列的顺序和链式存储, 阅读全文
posted @ 2016-10-19 09:26 青玉伏案 阅读(2797) 评论(1) 推荐(9) 编辑
摘要:温故而知新,在接下来的几篇博客中,将会系统的对数据结构的相关内容进行回顾并总结。数据结构乃编程的基础呢,还是要不时拿出来翻一翻回顾一下。当然数据结构相关博客中我们以Swift语言来实现。因为Swift语言是面向对象语言,所以在相关示例实现的时候与之前在大学学数据结构时C语言的实现有些出入,不过数据结 阅读全文
posted @ 2016-10-13 10:28 青玉伏案 阅读(7496) 评论(5) 推荐(9) 编辑
摘要:今天博客中的Alamofire源码的版本是以3.4版本为例。上篇博客系统的对NSURLSession相关的东西进行了详细的解析,详情请看《详解NSURLSession》,为了就是给本篇博客打下基础。因为AlamoFire就是对NSURLSession及其相关的东西进行了进一步的封装,让网络请求使用起 阅读全文
posted @ 2016-08-08 09:57 青玉伏案 阅读(5917) 评论(1) 推荐(5) 编辑
摘要:Swift3.0相关代码已在github上更新。之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread、操作队列以及GCD,介绍的不够深入。今天就以GCD为主题来全面的总结一下GCD的使用方式。GCD的历史以及好处在此就不做过多的赘述了。本篇博客会通过一系列的实例来好好的总结一下G 阅读全文
posted @ 2016-07-04 10:30 青玉伏案 阅读(6920) 评论(2) 推荐(10) 编辑
摘要:我们知道Google早就被墙了,所以FQ才能访问Google呢,这个“FQ”的过程就是一个代理的过程。“代理模式”在之前的博客中不止一次的提及过,之前的委托回调就是代理模式的具体应用。今天我们就从“FQ”中来认识一下代理模式。代理模式的定义如下: 代理模式:为另一个对象提供一个替身或占位符以控制对这 阅读全文
posted @ 2016-05-16 09:34 青玉伏案 阅读(3074) 评论(0) 推荐(4) 编辑
摘要:说到状态模式,如果你看过之前发布的重构系列的文章中的《代码重构(六):代码重构完整案例》这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构。上一篇博客我们讲的主题是“组合模式”,我们使用组合模式创建了一个树形结构,并给出了遍历方式。今天我们来认识一下另一种模式,那就 阅读全文
posted @ 2016-05-12 09:17 青玉伏案 阅读(3068) 评论(0) 推荐(5) 编辑
摘要:上一篇博客中我们从从电影院中认识了"迭代器模式"(Iterator Pattern),今天我们就从文件系统中来认识一下“组合模式”(Composite Pattern)。说到组合模式,在此我想聊一下在类图中有组合与聚合的关系,这两者都是整体和部分的关系,只是整体与部分的依赖度不同。在聚合关系中,整体 阅读全文
posted @ 2016-05-10 09:25 青玉伏案 阅读(1118) 评论(0) 推荐(5) 编辑
摘要:上篇博客我们从醋溜土豆丝与清炒苦瓜中认识了“模板方法模式”,那么在今天这篇博客中我们要从电影院中来认识"迭代器模式"(Iterator Pattern)。“迭代器模式”顾名思义就是通过迭代的形式来取出容器中的值。如果你对Java语言熟悉的话,那么你应该使用过Java中的迭代器,迭代器一般使用hasN 阅读全文
posted @ 2016-05-06 09:38 青玉伏案 阅读(1333) 评论(2) 推荐(4) 编辑
摘要:今天是五.四青年节,祝大家节日快乐。看着今天这标题就有食欲,夏天到了,醋溜土豆丝和清炒苦瓜适合夏天吃,好吃不上火。这两道菜大部分人都应该吃过,特别是醋溜土豆丝,作为“鲁菜”的代表作之一更是为大众所熟知,醋溜土豆丝,好吃不上火。清炒苦瓜这道菜好啊,更是夏天必备之良菜,其功效在此就不做过多赘述了。言归正 阅读全文
posted @ 2016-05-04 09:36 青玉伏案 阅读(1277) 评论(1) 推荐(5) 编辑
摘要:在此先容我拿“小弟”这个词来扯一下淡。什么是小弟呢,所谓小弟就是可以帮你做一些琐碎的事情,在此我们就拿“小弟”来类比“外观模式”。在上面一篇博文我们完整的介绍了“适配器模式”,接下来我们将要在这篇博客中介绍“外观模式”(Facade Pattern)。其实外观模式与之前我们介绍过的“命令模式”有些相 阅读全文
posted @ 2016-04-29 11:33 青玉伏案 阅读(1168) 评论(2) 推荐(7) 编辑
摘要:在前面一篇博客中介绍了“命令模式”(Command Pattern),今天博客的主题是“适配器模式”(Adapter Pattern)。适配器模式用处还是比较多的,如果你对“适配器模式”理解呢,那么自然而然的就会知道其使用场景。今天这篇博客我们就举一个生活中的使用适配器模式的示例,然后将该示例使用代 阅读全文
posted @ 2016-04-28 09:20 青玉伏案 阅读(1738) 评论(0) 推荐(2) 编辑
摘要:今天的博客中就来系统的整理一下“命令模式”。说到命令模式,我就想起了控制台(Console)中的命令。无论是Windows操作系统(cmd.exe)还是Linux操作系统(命令行式shell(Command Line Interface shell ,即CLI shell)都有命令行程序。说白了就是 阅读全文
posted @ 2016-04-26 09:31 青玉伏案 阅读(2234) 评论(0) 推荐(3) 编辑