
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
(优点)选择合适的h(key),散列表的查找效率期望是常数O(1),它几乎与关键字的空间的大小n无关!也适合于关键字直接比较计算量大的问题它是以较小的为前提。因此,散列方法是以空间换时间(缺点)散列方法的存储对关键字是随机的,不便于顺序查找关键字,也不适用与范围查找,或最大值最小值查找。开放地址法(优点)散列表是一个数组,存储效率高,随机查找(缺点)散列表有“聚集”现象分离链接法散列表顺序存储和链

这样处理的好处是:左子树的最大值一定不是有两个孩子节点的情况、而右子树的最小值也一定不是有两个孩子节点的情况。我们已经知道了没有孩子节点的情况和只有一个孩子节点的情况该怎么删除了,当有两个孩子节点的情况时,就考虑能不能把它变成只有一个孩子节点的情况来处理呢?当找到了新节点应该插入的位置时,需要通过找到上一个节点的地址,来将上一个节点的左子树指针或者右子树指针指向新节点。是可以实现的:用另一节点替代

换句话说,你通过你认识的某个人,再通过他们认识的另一个人,以此类推,最终可以与世界上任何一个陌生人建立联系。然后开始新一轮的循环,直到来到节点7,节点7的最后一个邻接点赋给tail,即节点19;此时last指向节点7;现假设给定了一个社交网络图,请对每个节点计算符合“六度空间”理论的节点占节点总数的百分比。增加计数器 count,表示访问的节点数量,并更新最后一个节点的位置为 W。然后开始遍历节点

数据结构和算法——散列函数的构造方法(直接定址法、除留余数法、数字分析法、折叠法、平方取中法、ASCII码加和法、前三字符、移位法)我们发现32是2的5次方,于是可以通过移位,也就是将一个数往左二进制移位五次,就相当于*32.,取后三位391,所以h(56793542) =种,但经过统计得到,实际中的组合约3000种,,即空间利用率大约30%,浪费了70%的空间。,理论上来说,前三字符所有可能性的

数据结构学习记录——平衡二叉树的调整(基本介绍、右单旋、左单旋、左右双旋、右左双旋、平衡因子的计算)平衡二叉树也是一棵二叉搜索树。当我们在一棵平衡二叉树进行插入或者删除时,可能会把原来的平衡二叉树变得不平衡,这个时候我们就需要进行调整了。RR旋转(右单旋)LL旋转(左单旋)RL旋转(右左双旋)LR旋转(左右双旋)

数据结构和算法学习记录——二叉树的存储结构&二叉树的递归遍历(顺序存储结构、链表存储结构、先序中序后序递归遍历)设想一下二叉树要用什么样的方式来存储,一种是用数组,按从上至下,从左到右顺序存储n个节点的完全二叉树。 其中的节点父子关系会满足:非根节点(序号 > 1)的父节点的序号是[i / 2]节点(序号为i)的左孩子节点的序号是[2i],(若2i

数据结构和算法学习记录——初识二叉树(定义、五种基本形态、几种特殊的二叉树、二叉树的重要性质、初识基本操作函数)一个有穷的节点集合。这个集合可以为空;若不为空,则它是由根节点和称为其左子树和右子树的两个不相交的二叉树组成。

什么是平衡二叉树?以一个例子来解释一下:搜索树结点按不同的插入次序,将会导致不同的深度和平均查找长度ASL在二叉搜索树中查找一个元素:(a)要找到Jan,需要查找一次;要找到Feb,需要查找两次;要找到Mar,也需要查找两次......要找到Nov,需要查找六次。把所有查找次数加起来,再除以12,得到平均查找长度:ASL(a) = ( 1 + 2 * 2 + 3 * 3 + 4 * 3 + 5 *

数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)表示“多对多”的关系包含类型名称:图(Graph)数据对象集:G(V,E)由一个非空的有限顶点集合V和一个有限边集合E组成。操作集:对于任意图G属于Graph,以及v属于V,e属于E建立并返回空图将v插入G将e插入G从顶点v出发深度优先遍历图G从顶点v出发宽度优先遍历图G计算图G中顶点v到任意其他顶点的最短距离

二维数组表示图的邻接矩阵。它的大小是MaxVertexNum × MaxVertexNum,用于存储顶点之间边的权重或者存在的情况。(无权重且存在边用1表示,无权重且不存在边则用0表示;有权重且存在边用其权重表示,有权重且不存在边则用一个极大值表示。其中,DataType Data[MaxVertexNum],可以用来存储与每个顶点相关的其他数据。例如:如果图表示一个社交网络,则可以存储每个顶点的
