上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页
摘要: 字典又可以叫做符号表,关联数组,以及映射(map),是一种键值对的抽象数据结构。 在字典中,每一个key都是独一无二的。Redis属于KV类型的NOSQL,很大一部分原因就是它的KV设计太符合缓存这一概念了。 例如之前的 set msg "111",这种操作,虽然"111"最后是使用SDS进行存储的 阅读全文
posted @ 2020-12-16 10:23 smartcat994 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 由于C语言总没有链表这玩意所以Redis自己实现了一个链表。链表的好处就不用多说了,和数组配合是一对雌雄双股剑。 链表在Redis中的应用非常广泛,比如列表键的底层实现之一就是链表,列表中的元素很多,又基本都是长字符串的时候,就会使用到链表这一结构。 integers列表键的底层实现就是一个链表,链 阅读全文
posted @ 2020-12-16 08:40 smartcat994 阅读(59) 评论(0) 推荐(0) 编辑
摘要: Redis没有使用C中自带的String,而是自己构建了一个字符串类,名为Simple Dynamic String。缩写为SDS,下文的SDS就是指此玩意。SDS是redis中默认的字符串使用。而Redis是基于C实现的,C内部的自带的String被它作用于log的记录。也就是一个简单的字符串字面 阅读全文
posted @ 2020-12-15 15:37 smartcat994 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 这一节主要是讲:Intemet地址结构 网络层地址又称IP地址。连接到Internet的设备至少还要有一个IP地址。基于TCP/IP协议的专用网络中使用的设备也需要IP地址。 大多数Intemet用户熟悉IP地址,并且了解最流行的地址类型‥ IPv4地址。这些地址通常采用所谓的点分四组或点分十进制表 阅读全文
posted @ 2020-12-15 14:09 smartcat994 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 归并排序 冯诺依曼发明的一个算法。分治为其中的核心思想。这个排序的时间复杂度为O(nlogn) 归并排序的流程图: 整体的流程图如下: 这个算法的特点: 平均时间复杂度:O(nlogn)最佳时间复杂度:O(n)最差时间复杂度:O(nlogn)空间复杂度:O(n)排序方式:In-place稳定性:稳定 阅读全文
posted @ 2020-12-14 17:12 smartcat994 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 概述TCP/IP协议 只有在通信系统端角度的应用知识的帮助下,才能完全和正确地实现问题中提到的功能。因此,作为通信自身的一个特点,不可能提供有疑问的功能。 (有时, 通信系统提供的一个功能不完整的版本可能用于提高性能。) 在层次结构中,我们对网络层或互联网络层最有兴趣。对于分组网络(例如TCP/IP 阅读全文
posted @ 2020-12-14 15:44 smartcat994 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 就我们做业务开发的人很容易想到一个东西就是TCP/IP协议,但其实吧,要了解这些东西的产生的原因是一件很有意思的事情。准确的说TCP/IP只是一种网络通信协议。除了它还有很多的协议,例如NetBEUI协议,NWLink IPX/SPX/NetBIOS,DLC协议,AppleTalk协议,IrDA协议 阅读全文
posted @ 2020-12-10 16:58 smartcat994 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 在这三个基础算法中,都是基于比较进行的排序,时间复杂度都为O(n²),并且都是原地排序,也都是稳定的算法。 插入排序的目的是建立一个有序的数组随后进行插入。在内层循环中可以提前结束比较。在数据量小或者接近有序的情况下,比较适合。 冒泡排序是当前节点和相邻节点进行比较,与插入排序不同的是,冒泡排序建立 阅读全文
posted @ 2020-12-10 11:25 smartcat994 阅读(845) 评论(0) 推荐(0) 编辑
摘要: 排序算法的思想就是把数组分成两个部分,前部的数组是一个有序的,并且保证是当前最小的集合。所以每次就是遍历剩下的元素,取出其中最小的,然后插入之前的有序集合。 表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内 阅读全文
posted @ 2020-12-09 08:45 smartcat994 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 如果一个有序的数组,如何进行数据的插入?这个应该很简单,遍历数组然后一个个比较。找到插入位置后,将后面的数据进行后移就可以实现。 那么插入排序的思想也和这玩意一样,只不过区别是它是在本身的数组上进行的拆入。 核心思想就是这张图: 只需要控制区间可以做到,类似新数组的真空地带。例如一开始的9肯定不用动 阅读全文
posted @ 2020-12-08 15:54 smartcat994 阅读(77) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页