首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构与算法
订阅
路西法哈
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
深入浅出 Runtime(二):数据结构
1. objc_object Objective-C的面向对象都是基于C/C++的数据结构——结构体实现的。 我们平时使用的所有对象都是id类型,id类型对象对应到runtime中,就是objc_object结构体。 2. objc_class Class指针用来指向一个 Ob…
iOS标准库中常用数据结构和算法之内存池
内存池提供了内存的复用和持久的存储功能。设想一个场景,当你分配了一块大内存并且填写了内容,但是你又不是经常去访问这块内存。这样的内存利用率将不高,而且无法复用。而如果是采用内存池则可以很轻松解决这个问题:你只需要从内存池中申请这块内存,设置完内容后当不需要用时你可以将这块内存放…
iOS标准库中常用数据结构和算法之cache
缓存是以键值对的形式进行数据的存储和检索,内部采用哈希表实现。当系统出现内存压力时则会释放掉部分缓存的键值对。 iOS系统提供了一套基于OC语言的高级缓存库NSCache,同时也提供一套基于C语言实现的缓存库libcache.dylib,其中NSCache是基于libcache…
iOS标准库中常用数据结构和算法之位串
所谓位串就是由0和1组成的bit串,比如:010010110011101101101011。可以把位串看成是元素只有0和1组成的数组。一般情况下大量数据的标志位采用位串进行存储这样有利于存储空间的节省,比如磁盘中分配的记录块的空闲标志或者读写标志等。位串的索引是从右往左从0开始…
iOS标准库中常用数据结构和算法之KV数据库
对于结构化数据的存储一般我们使用关系型数据库,而对于基于key-value类型的数据存储则不适合用关系型数据库。因此iOS系统也内置了一套基于key-value存储的文件数据库:ndbm。 一套基于key-value形式存储的数据库。 功能: 数据库文件的创建、打开、关闭。 f…
iOS标准库中常用数据结构和算法之哈希表
系统提供一个全局的key为字符串的哈希表。并提供哈希表的创建、元素添加、元素查找、哈希表的销毁的能力。存储在哈希表中的元素是一个如下的标准结构: 功能:用于全局哈希表的创建和销毁操作。 nel: [in]指定哈希表的初始容量尺寸,这个参数主要用于内存存储上的优化处理。 retu…
iOS标准库中常用数据结构和算法之二叉排序树
功能:二叉排序树的标准实现是一颗平衡二叉树。二叉排序树主要用来解决高效插入和高效检索以及进行排序的问题。系统分别提供了二叉排序树节点的查找、添加、删除、遍历4个功能。 要实现用二叉排序树时需要我们自己来定义节点的数据结构,因为下列函数中所有关于节点的参数都是void*类型的。所…
iOS标准库中常用数据结构和算法之排序
排序是指将乱序数组变为有序排列的处理。iOS提供了快速排序、堆排序、归并排序、并行排序、基数排序一共5种排序函数。具体每种排序的概念介绍请大家参考相关的文档这里就不再赘述了。下面的表格将会从时间复杂度、稳定性、是否需要分配额外内存、是否对有序数组进行优化、 应用范围、平台支持6…
iOS标准库中常用数据结构和算法之链表
功能:对双向链表进行添加、删除功能。 element:[in] 要添加或者删除的链表元素。 pred:[in]链表插入元素element的前缀元素。 系统并没有规定链表的数据结构,但是要求链表元素结构体中的前面两个数据成员必须是分别指向后一个元素和前一个元素。下面就是链表元素结…
iOS标准库中常用数据结构和算法之查找
我本来想说的是Unix系统C标准库所提供的一些算法和数据结构API,但毕竟带有iOS标题可能更加吸引眼球一些。其实我说的也没有错,因为iOS毕竟是从Unix衍生出来的系统,所以说标题所述也算是正确的。下面将要介绍的几类API,有些可以在POSIX平台中支持,有些则只能在Free…