数据结构
文章平均质量分 84
数据结构原理及架构
技术虫
专注技术
展开
-
hash分析
Hash也称散列、哈希,对应的英文都是Hash。基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值。一个优秀的hash算法,需满足以下几个特征:比较常用的算法是链地址法和开放地址法。链地址法:使用链表数组,hash冲突时依次添加到链表后面;开放地址法:指大小为 M 的数组保存 N 个键值对,其中 M > N;使用数组空位解决冲突。冲突解决方法有:线性探测,二次探测和双重散列。一般使用装载因子表示空位大小。散列表的装载因原创 2023-07-23 23:54:04 · 137 阅读 · 0 评论 -
跳表结构分析
跳表:一种解释是一种多层的有序链表,在链表基础上结合二分的思想,把改造后的数据结构叫做跳表。另一种解释是一种概率平衡,而不是严格平衡的二叉树。有序链表更容易理解,平衡树更形象。跳表需要建立索引,使用空间换时间的思想,通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集,所以跳表的索引查找和平衡树差不多,插入和删除算法比平衡树更简单。原创 2023-07-23 20:58:23 · 142 阅读 · 0 评论 -
二叉树分析
二叉树是十分重要的数据结构,我们需要掌握二叉树的四种遍历方式。本文中,针对深度优先搜索的遍历:1、前序遍历。2、中序遍历。3、后序遍历。均是采用递归的方式进行操作、。然而,这三种方式同样还可以通过栈的特点,已非递归的方式进行遍历。这也是我们需要重点掌握的。层次遍历则是利用队列先进先出的特点,每遍历一层后,进入队列的元素个数就是该层元素个数。每种遍历方式都有自己的使用场景。原创 2023-07-23 10:35:48 · 120 阅读 · 0 评论 -
红黑树分析
红黑树分析原创 2023-07-22 23:12:00 · 135 阅读 · 1 评论