上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 103 下一页
摘要: 指针的本质是:内存(地址)+ 类型 指针只是将变量对应的内存装包; *P是解包的操作。 阅读全文
posted @ 2018-11-30 19:02 zzfx 阅读(313) 评论(0) 推荐(0)
摘要: 理解指针的关键是明确要修改哪块内存的内容, 然后获取目标内存的地址,并使用指针协助完成。 指针本身的内存 vs 指针指向的内存。 1、修改指针的值:修改指针指向的内存地址; 2、修改指针指向的内存中的内容:修改内容; 3、指针的传递:地址的不变性、地址赋值; 阅读全文
posted @ 2018-11-30 17:00 zzfx 阅读(170) 评论(0) 推荐(0)
摘要: public class func pending() -> (promise: Promise<T>, resolver: Resolver<T>) { return { ($0, Resolver($0.box)) }(Promise<T>(.pending)) } 阅读全文
posted @ 2018-11-29 15:41 zzfx 阅读(246) 评论(0) 推荐(0)
摘要: let firstHighScore = ("Mary", 9001)firstHighScore.0 firstHighScore.1 阅读全文
posted @ 2018-11-29 15:30 zzfx 阅读(111) 评论(0) 推荐(0)
摘要: Pipeline模型最早被使用在Unix操作系统中。据称,假设说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是尾随Unix所带来的还有一个伟大的发明【1】。我觉得管道的出现,所要解决的问题,还是软件设计中老生常谈的设计目标——高内聚,低耦合。它以一种“链式模型”来串接不同的程 阅读全文
posted @ 2018-11-28 15:44 zzfx 阅读(351) 评论(0) 推荐(0)
摘要: 响应式编程是一种面向数据流和变化传播的编程范式 https://www.cnblogs.com/feng9exe/p/9019773.html https://www.cnblogs.com/feng9exe/p/8602889.html 阅读全文
posted @ 2018-11-28 11:56 zzfx 阅读(221) 评论(0) 推荐(0)
摘要: 内聚性是模块之所以成为模块的原因--一个中心、单一职责。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量,一个内聚成都高的模块(在理想情况下)应当制作一件事 内聚的目的在于降低通信的消耗; 阅读全文
posted @ 2018-11-27 17:48 zzfx 阅读(251) 评论(0) 推荐(0)
摘要: 所谓系统集成(SI,System Integration),就是通过结构化的综合布线系统和计算机网络技术,将各个分离的设备(如个人电脑)、功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共享,实现集中、高效、便利的管理。 系统集成实现的关键在于解决系统之间的互连和互操作性问题,它是 阅读全文
posted @ 2018-11-27 16:21 zzfx 阅读(2470) 评论(0) 推荐(0)
摘要: 编程是把需求打碎然后按照编程思想的指导进行重组的过程; 就和机器的拆分和组装一样; https://www.cnblogs.com/feng9exe/p/6804824.html https://www.cnblogs.com/feng9exe/p/9955152.html https://www. 阅读全文
posted @ 2018-11-27 16:11 zzfx 阅读(248) 评论(0) 推荐(0)
摘要: 协议的传统实现: 定义接口+实现协议 由抽象到具体; 协议的逆向实现(使用扩展): 由已存在的类型抽离部分功能作为协议,并让原体符合协议; 由具体到抽象; 向上抽离; 向上生成; 协议的缺省实现: (使用扩展)协议遵从的从无到有。 本质是协议于具体:先有谁,后有谁 及 怎么结合的问题; 协议的生成律 阅读全文
posted @ 2018-11-26 19:40 zzfx 阅读(327) 评论(0) 推荐(0)
摘要: swift的特性:扩展、协议、泛型 扩展与继承:对象的生长方式; 协议:支持 协议->类型、类型<-协议 的双向抽象; 泛型; 阅读全文
posted @ 2018-11-26 19:01 zzfx 阅读(244) 评论(0) 推荐(0)
摘要: 相信大家都封装过网络层。 虽然系统提供的网络库以及一些著名的第三方网络库(AFNetworking, Alamofire)已经能满足各种 HTTP/HTTPS的网络请求,但直接在代码里用起来,终归是比较晦涩,不是那么的顺手。所以我们都会倾向于根据自己的实际需求,再封装一个更好用的网络层,加入一些特殊 阅读全文
posted @ 2018-11-26 17:55 zzfx 阅读(601) 评论(0) 推荐(0)
摘要: 数据访问分为两种: 1、位置(索引)访问; 2、遍历访问; 基于比较的二叉树; 基于位置的数组; 基于位置和比较的hash表。 结构维护: 增删; 及访问与维护的效率。 阅读全文
posted @ 2018-11-25 22:52 zzfx 阅读(323) 评论(0) 推荐(0)
摘要: 常见的时间复杂度量级有: 常数阶O(1) 字典查找、数组索引 对数阶O(logN) 二分查找 线性阶O(n) 循环 线性对数阶O(nlogN) 循环+分而治之 平方阶O(n²) 双重循环 立方阶O(n³) 多重循环 K次方阶O(n^k) 指数阶(2^n) 常数阶O(1) 字典查找、数组索引 对数阶O 阅读全文
posted @ 2018-11-23 15:10 zzfx 阅读(583) 评论(0) 推荐(0)
摘要: 有关字符串的匹配问题,有很好的算法,即KMP算法,但是还有一种其实经常使用到的算法是Rabin-Karp算法,它是使用hash的原理来进行字符串匹配的。具体的做法如下。 Rabin-Karp算法是由Rabin和Karp提出的一个在实际中有比较好应用的字符串匹配算法,此算法的预处理时间为O(m),但它 阅读全文
posted @ 2018-11-22 19:35 zzfx 阅读(694) 评论(0) 推荐(0)
摘要: 算法一:快速排序算法 算法二:堆排序算法 算法三:归并排序 算法四:二分查找算法 算法五:BFPRT(线性查找算法) 算法六:DFS(深度优先搜索) 算法七:BFS(广度优先搜索) 算法八:Dijkstra算法 算法九:动态规划算法 算法十:朴素贝叶斯分类算法 算法一:快速排序算法 快速排序是由东尼 阅读全文
posted @ 2018-11-21 22:30 zzfx 阅读(164) 评论(0) 推荐(0)
摘要: 前言:当您在读该文章的时候,我认为您已经知道HashMap的底层实现原理,如果您还不清楚HashMap是如何实现的,请先去了解,再回来看本文章。 1.HashMap什么时候扩容? HashMap的容量是有限的。当经过多次元素插入的时候,使得HashMap达到一定的饱和度,Key映射位置的几率不断变大 阅读全文
posted @ 2018-11-21 18:02 zzfx 阅读(413) 评论(0) 推荐(0)
摘要: HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。 HashMap 非线程安全 TreeMap 非线程安全 阅读全文
posted @ 2018-11-21 17:00 zzfx 阅读(515) 评论(0) 推荐(0)
摘要: 平衡二叉树的平衡稳定是通过查找最低不平衡节递归实现的; 自平衡二叉树的平衡是通过局部不平衡的动态优化最终达到全局优化的。 阅读全文
posted @ 2018-11-16 19:15 zzfx 阅读(4296) 评论(0) 推荐(0)
摘要: 字符串匹配是字符串的一种基本操作:给定一个长度为 M 的文本和一个长度为 N 的模式串,在文本中找到一个和该模式相符的子字符串,并返回该字字符串在文本中的位置。 KMP 算法,全称是 Knuth-Morris-Pratt 算法,以三个发明者命名,开头的那个K就是著名科学家 Donald Knuth 阅读全文
posted @ 2018-11-16 19:06 zzfx 阅读(458) 评论(0) 推荐(0)
上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 103 下一页