首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
初心
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
数据结构与算法(11)- 哈夫曼树
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做。
数据结构与算法(11)- 线索化二叉树
在二叉树的结点上加上线索二叉树称为线索二叉树,对二叉树以某种遍历方式(先序,中序,后序)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。 存放在某种遍历次序下该结点的前驱结点或后继结点的指针,保存前驱或后继结点的引用,利用线索二叉树进行中序遍历时,不必采用堆栈处理,速…
OC 底层原理(18)- 锁
互斥锁(mutex):用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败是,线程会进入睡眠,等待锁释放时被唤醒。 就会去其他线程里去查找,如果找到了 threadCount 就递增。 要是再整个 list 都找不到就创建一个结点,加入 sDataLists。 由于…
OC底层原理(17)- GCD(栅栏,调度组,信号量,dispatch_source)
所以 a 打印的结果就会大于等于 5 。 由于是这是异步代码块,所以先回执行代码块后面的代码,然后才会开启一个新线程执行块里面的代码,当 a++ 执行完了才是整个代码块执行的结束。 所以在要执行代码块是便加上信号锁,当整个代码块意味结束时,再解锁,于是便不会消耗多余的性能。 因…
OC 底层原理(16)— 多线程二(GCD初探、创建原理、根队列分析)
一次只能执行一个,上一个任务没有执行完,就无法继续执行下一个任务,也就是效率比较低,任务耗时较长,DISPATCH_QUEUE_SERIAL。 并发队列会开启多个线程来执行任务,所以可以同时执行多个任务,任务执行的顺序也不会固定,DISPATCH_QUEUE_CONCURREN…
数据结构与算法(10)- 二叉树
当 n > 1 时,其余结点可以分为 m(m > 0)个互不相交的有限集 T1、T2、...、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。 n > 0 时,根结点是唯一的,不可能存在多个根结点,数据结构中的数只能有一个根结点。 m > 0 时,子树的个数没有限制,但它…
数据结构与算法(九)-- 字符串匹配问题(KMP算法)
KMP 是由 D.E.Knuth,J.H.Morrs 和 VR.Pratt。发表的一个模式匹配算法,可以大大避免重复遍历的情况。 我们拿上一篇中的 BF 算法,与 KMP 算法实现过程分析做对比说明。 假如现在有一个主串 S = "abcdefgabed",模式串 T = "a…
OC底层原理(15)-- 多线程—(NSThread基本使用、NSPort 通讯)
地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。 进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程,同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程 执行过程:每个独立的进程有一个程序运行的入口、顺…
数据结构与算法(八)- 串的理解与应用
若不相等,指针后退重新开始匹配. 从主串的下一个字符串(i = i - j + 2)起再重新和模式第一个字符(j = 1)比较; Hash (哈希). 一般中文也翻译做”散列”; 也可以直接音译”哈希”; 散列在开发中是常见手段! 比如大家常用的MD5 算法就是哈希算法; 哈希…
数据结构与算法(7)- 关于栈的算法题
假设表达式中允许包含两种括号:圆括号与方括号,其嵌套顺序随意,即() 或者[([][])]都是正确的.而这[(]或者(()])或者([()) 都是不正确的格式. 检验括号是否匹配的方法可用"期待的急迫程度"这个概念来描述. 例如,考虑以下括号的判断: [ ( [ ] [ ] )…
下一页
个人成就
文章被点赞
16
文章被阅读
17,329
掘力值
522
关注了
5
关注者
5
收藏集
0
关注标签
12
加入于
2020-03-02