首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
清水之灵
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
页面布局知识梳理
设置view.frame会立即生效,但明显这种方式会将视图固定死,如果要在不同尺寸的屏幕上都显示完美比较难,可能需要些几套UI或者设置比例。 苹果自iOS 6开始引入AutoLayout自动布局技术,经过一系列的优化,开发效率大大提高,苹果官方也推荐使用AutoLayout自动…
数据结构与算法-学习笔记(22)
它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。 它的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。 其中,根节点不包含任何信息。每个节点表示一个字符串中的字符,从根节点到红色节点(不一定都是叶子节点)的一条路径表示一个字…
数据结构与算法-学习笔记(21)
按优先级来,优先级最高的,最先出队。可以用堆来实现。 假设有100个大小为100MB小文件,每个文件中存储的都是有序的字符串。如何将这100个小文件合并成一个有序大文件。 思路:同样采用合并两个有序数组的方式。从100个文件中各取第一个字符串,放入一个数组中比较大小,把最小的字…
数据结构与算法-学习笔记(20)
② 堆中的每个节点的值都必须 >=(或者<=)其子树中每个节点。 如何存储一个堆:完全二叉树,用数组最好了。 2. 插入 插入完全二叉树中,也就是插入到数组的最后一个位置。 借助堆结构的特点,把数组中数据位置对应到堆上对应位置,通过调整堆来对数组中数据进行排序。 对一组数据进行…
数据结构与算法-学习笔记(19)
作用:求解递归算法的时间复杂度。 把递归的函数调用过程,逐层分解画成图,其实就是一棵树。 如果每层消耗时间相同,那么O(n*h)。 归并排序主要有两步:1.将数据一分为二 2.合并。分解的时间就是常量了。合并:把两个数组合并,时间和数据规模n有关,可以记作n。因此每一层的时间消…
数据结构与算法-学习笔记(18)
平衡二叉查找树的严格定义:二叉树中任意一个节点的左右子树的高度相差不能大于1。 设计平衡二叉查找树的初衷:为了解决普通二叉查找树在频繁的插入、删除等动态更新的情况下(尤其是插入的一组数据是有序的情况),出现时间复杂度退化的问题。 但是在实际的开发中,并不能完全严格的按照定义去做…
数据结构与算法-学习笔记(17)
没有父节点的节点叫做根节点。没有子节点的节点叫做叶子节点或叶节点。 关于树还有三个相似概念:高度(Height)、深度(Depth)、层(Level)。 只需要知道根节点,就知道了整棵树。 三种方法:前序遍历、中序遍历、后序遍历(前中后指的是根节点的位置)。遍历是一个递归的过程…
数据结构与算法-学习笔记(16)
将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,得到的二进制值串就是哈希值。 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速的计算出哈希值。 MD5(消息摘要算法)、SHA(安全散列)、DES(数据加密标准)、AES(高级加密标准)等。 哈…
iOS 中的 GCD 实现详解
以下仅是对Dispatch Queue的分析。 GCD中的队列Dispatch Queue是通过链表和结构体实现的。 FIFO队列的管理是通过dispatch_async等函数来实现的(操作头尾节点)。 在GCD中,可执行的任务有两种方式实现:Block、Function。因此…
多线程-GCD
是异步执行任务的技术之一。它将应用程序中线程管理的代码放在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,至于具体是哪个线程执行、如何执行该任务,开发者不需管,交由GCD来管理。 因此GCD优于其他异步技术的点:线程管理交由系统管理,效率…
下一页
个人成就
文章被点赞
47
文章被阅读
10,754
掘力值
461
关注了
6
关注者
21
收藏集
0
关注标签
1
加入于
2018-10-19