首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
清水之灵
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
清水之灵
6年前
关注
页面布局知识梳理
设置view.frame会立即生效,但明显这种方式会将视图固定死,如果要在不同尺寸的屏幕上都显示完美比较难,可能需要些几套UI或者设置比例。 苹果自iOS 6开始引入Aut...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(22)
它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。 它的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。 其中,根节点不...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(21)
按优先级来,优先级最高的,最先出队。可以用堆来实现。 假设有100个大小为100MB小文件,每个文件中存储的都是有序的字符串。如何将这100个小文件合并成一个有序大文件。 ...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(20)
② 堆中的每个节点的值都必须 >=(或者<=)其子树中每个节点。 如何存储一个堆:完全二叉树,用数组最好了。 2. 插入 插入完全二叉树中,也就是插入到数组的最后一个位置。...
1
评论
分享
清水之灵
关注了
美团技术团队
清水之灵
6年前
关注
数据结构与算法-学习笔记(19)
作用:求解递归算法的时间复杂度。 把递归的函数调用过程,逐层分解画成图,其实就是一棵树。 如果每层消耗时间相同,那么O(n*h)。 归并排序主要有两步:1.将数据一分为二 ...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(18)
平衡二叉查找树的严格定义:二叉树中任意一个节点的左右子树的高度相差不能大于1。 设计平衡二叉查找树的初衷:为了解决普通二叉查找树在频繁的插入、删除等动态更新的情况下(尤其是...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(17)
没有父节点的节点叫做根节点。没有子节点的节点叫做叶子节点或叶节点。 关于树还有三个相似概念:高度(Height)、深度(Depth)、层(Level)。 只需要知道根节点,...
1
评论
分享
清水之灵
6年前
关注
数据结构与算法-学习笔记(16)
将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,得到的二进制值串就是哈希值。 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速的计算出哈...
6
评论
分享
清水之灵
6年前
关注
iOS 中的 GCD 实现详解
以下仅是对Dispatch Queue的分析。 GCD中的队列Dispatch Queue是通过链表和结构体实现的。 FIFO队列的管理是通过dispatch_async等...
17
评论
分享
清水之灵
7年前
关注
多线程-GCD
是异步执行任务的技术之一。它将应用程序中线程管理的代码放在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,至于具体是哪个线程执行、如...
4
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(15)
数组占据随机访问的优势,却有需要连续内存的缺点。 链表具有可不连续存储的优势,但访问查找是线性的。 散列表和链表、跳表的混合使用,是为了结合数组和链表的优势,规避它们的不足...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(14)
散列表采用的是数组支持按照下标(通过寻址公式)在O(1)的时间复杂度下随机访问数据的特性,所以散列表其实是数组的一种扩展,由数组演化而来,没有数组就没有散列表。 通过散列函...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(13)
如数组的二分查找,链表中逐渐缩小查找区域,来查询目标数据。 在单链表中查找数据,即使有序,由于指针方向也只能从头到尾遍历链表。如何进行优化,让查找次数减少呢? 这样我们查找...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(12)
第一个等于给定值,在前面,因此high = mid -1,出口是mid==0||array[mid-1]!=value找到了第一个。 综上,以上二分查找变形可以解决查找数据...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(11)
思路:根据中间点确定目标值范围,然后不断缩小范围直到找到。 假设查找k次,当k值增大,n/2……k = 1时,k=log2n,因此时间复杂度O(k) = O(logn)。 ...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(十)
快速排序的最坏时间复杂度是O(n2);原因是数据是有序或接近有序的,而每次区分点都选最后一个,则需要交换次数太多,时间复杂度就会退化到O(n2)。 因此这种时间复杂度出现的...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(九)
桶排序、计数排序、基数排序这三种排序算法因为时间复杂度是O(n)线性的,因此把这类排序算法叫做线性排序。他们是非基于比较的排序算法。 这种排序算法对排序的数据要求很苛刻,主...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(八)
思路:将要排序的数组从中间分成两部分,分别排序,再将排序好的两部分合并。 这里用到了分治思想:分而治之,讲一个大问题分解成若干个小问题来解决。很明显这里需要用到递归这种编程...
1
评论
分享
清水之灵
7年前
关注
数据结构与算法-学习笔记(七)
最好、最坏、平均情况时间复杂度:为甚要区分这三种时间复杂度?第一,有些排序算法会区分。第二,对于要排序的数据,有的接近有序、有的完全无序。有序度不同的数据,对于排序的执行时...
1
评论
分享
下一页
个人成就
文章被点赞
47
文章被阅读
10,754
掘力值
461
关注了
6
关注者
21
收藏集
0
关注标签
1
加入于
2018-10-19