- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 hash分析
Hash也称散列、哈希,对应的英文都是Hash。基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值。一个优秀的hash算法,需满足以下几个特征:比较常用的算法是链地址法和开放地址法。链地址法:使用链表数组,hash冲突时依次添加到链表后面;开放地址法:指大小为 M 的数组保存 N 个键值对,其中 M > N;使用数组空位解决冲突。冲突解决方法有:线性探测,二次探测和双重散列。一般使用装载因子表示空位大小。散列表的装载因
2023-07-23 23:54:04
200
原创 跳表结构分析
跳表:一种解释是一种多层的有序链表,在链表基础上结合二分的思想,把改造后的数据结构叫做跳表。另一种解释是一种概率平衡,而不是严格平衡的二叉树。有序链表更容易理解,平衡树更形象。跳表需要建立索引,使用空间换时间的思想,通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集,所以跳表的索引查找和平衡树差不多,插入和删除算法比平衡树更简单。
2023-07-23 20:58:23
179
原创 二叉树分析
二叉树是十分重要的数据结构,我们需要掌握二叉树的四种遍历方式。本文中,针对深度优先搜索的遍历:1、前序遍历。2、中序遍历。3、后序遍历。均是采用递归的方式进行操作、。然而,这三种方式同样还可以通过栈的特点,已非递归的方式进行遍历。这也是我们需要重点掌握的。层次遍历则是利用队列先进先出的特点,每遍历一层后,进入队列的元素个数就是该层元素个数。每种遍历方式都有自己的使用场景。
2023-07-23 10:35:48
139
原创 VPP架构之Software_Architecture
2. VLIB: 提供向量处理支持,包括graph node调度、可靠的多播支持、协程线程、CLI、plugin支持、物理内存和Linux epoll支持。VPP核心提供了一个用户态转发框架,不仅包含接口管理,L2,L3还包含了传输层和overlay处理,可以说思科作为传统网络设备商,在这方面还是比较专业的。1. VPPINFRA : 提供高性能的动态数组、hash、位图、高精度实时时钟支持、细粒度的事件日志记录和数据结构序列化;控制面板:是为了方便用户提供一套机制,方便用户使用。
2023-06-24 12:09:41
323
1
面向对象程序设计的三大特性之一:多态
2018-04-05
tcp/ip协议 第一卷
2012-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人