舍伍德(Sherwood)算法是什么 2023-04-25 883 舍伍德算法是概率算法的一种,该文在比较线性表的顺序存储与链式存储的特点之后,提出了一种较优的数据结构——用数组模拟链表。理论上证明了采用舍伍德算法进行查找运算的时间复杂度为0(n^1/2)。 一、舍伍 …
链表什么时候要开辟空间 2023-04-25 763 链表创建链表需要开辟空间,遍历不需要。P 和 Rear 都是指针,是用来存放内存地址的变量。malloc() 函数,用于申请一段内存(开辟空间),并返回这段内存的首地址。 一、链表什么时候要开辟空间 …
C的数据结构和C++的有区别吗 2023-04-25 868 C语言和C++描述数据结构最大的区别在于设置思想,C语言是一种结构化程序设计语言,而C++是一种面向对象的程序设计语言,它两者的区别主要在于数据和操作的关系。 一、C的数据结构和C++的区别 C语言和 …
为什么采用线性探测法散列算法 2023-04-25 727 因为哈希的线性探测法基本思路就是利用 H(key) = a*Key + b作为哈希地址。由于插入的时候,会插入到该线性序列的为数不多的空节点,那么也就意味着在探查的时候,如果遇到空节点就会认为其后续节 …
数组与集合有什么不同 2023-04-25 738 数组与集合的不同有:1、数组声明了它容纳的元素的类型,而集合不声明。2、数组的长度是固定的,集合长度是可以改变的。数组是静态的,一个数组实例具有固定的大小。 一、数组与集合的不同 1、数组声明了它容纳 …
什么是持久化数据结构 2023-04-25 667 持久化数据结构其实主要是针对内存数据的,以典型的Redis来说,持久化存储主要有三种方式:RDB: 保存某个时间点的全量数据快照。触发方式save: 阻塞Redis的服务器进程,直到RDB文件被创建完 …
优先级树是什么 2023-04-25 707 优先级树的根节点中存储的元素具有最小优先级。优先级树是满足下面这些条件的二叉树:1、树中的每一个节点存储一个元素;2、任一节点中存储的元素的优先级不大于其儿子节点中元素的优先级。 一、优先级树是什么 …
数据结构中KMP算法是什么 2023-04-25 719 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法是在 BF 算法基础上 …
Layer2是什么和Layer1有哪些区别 2023-04-25 1122 所谓Layer1和Layer2也就是名列前茅层和第二层。其中第0层对应OSI模型的底层协议。Layer2是什么和Layer1的区别是名列前茅层(Layer 1)大致包括数据层和共识层以及激励层。而第2 …
数据结构里面pnext与next有什么区别 2023-04-25 746 p 是一个指向某类型结构的指针;p->next 是 p 所指向的结构的 next 成员;p = p->next 是把p->next 的值赋给 p。如果这两句语句中的 p 变量是同一个 …
对于二叉树遍历,递归实现与非递归实现在时间上有什么区别 2023-04-25 622 对于二叉树遍历,递归实现与非递归实现在时间上的区别是非递归比较容易搞内联,当然递归可以做尾递归优化,但二叉树遍历这样子的只能优化掉其中一处递归。 一、对于二叉树遍历,递归实现与非递归实现在时间上的区别 …
堆(heap)结构比较于B树的优缺点是什么 2023-04-25 686 堆(heap)结构比较于B树的优缺点是堆只能访问一个元素,也就是堆顶,其他的元素在堆里是无意义的。优点也是这个,既然用堆了,那就是想访问堆顶,查询复杂度O(1)。 一、堆(heap)结构比较于B树的优 …