数据结构
文章平均质量分 80
websterWu
这个作者很懒,什么都没留下…
展开
-
使用优先队列在iOS中实现消息排序
场景 在做一个APP的聊天功能,聊天消息走socket推过来的,每个消息有唯一的id,id随时间是增大的,聊天消息要按时间有序,不重复,不遗漏。 本博客主要想说消息有序,但提到了不重复,不遗漏,也简单说一下。 不遗漏:一种方式就是本地保存最新的消息id,请求最新数据时带上这个id,等到请求回来,才能更新最新id,注意一下边界开区间闭区间的问题就可以了,服务器应该返回 ( 本地最新id, 服务转载 2017-08-09 14:25:42 · 745 阅读 · 0 评论 -
ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics、Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bri转载 2017-08-09 15:43:30 · 268 阅读 · 0 评论 -
iOS实现二叉树数据结构
#头文件 @interface YFTree : NSObject /** 根节点的值 */ @property (nonatomic, strong) ObjectType rootData; @property (nonatomic, strong) YFTree *leftTree; @property (nonatomic, strong)原创 2017-08-04 16:51:03 · 844 阅读 · 0 评论 -
数据结构-从宏观上理解数据结构
从宏观上理解数据结构 很多时候我们一直在埋头苦干,却不知道为什么这样...... 工作一年之后,重新回想一下大学里学的数据结构,发现所剩的寥寥无几,当提起某一种数据结构脑海中大体也只剩下了简单的定义,如跳表,也只是模糊记得是在一个有序链表上添加额外的指针来加快搜索速度,其他的似乎什么都不记得了,记得当时在学习数据结构时对跳表的理解还是蛮深刻的,然而时间一长却忘掉了转载 2017-08-12 14:25:58 · 438 阅读 · 0 评论 -
红黑树深入剖析及Java实现
参考链接: https://zhuanlan.zhihu.com/p/24367771 红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 BST 二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。 在理想的情况下,二叉查找树增删原创 2017-08-29 10:11:06 · 303 阅读 · 0 评论 -
排序算法
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2018-01-02 17:39:53 · 253 阅读 · 0 评论