抽象数据类型和面向对象是什么关系 2023-04-25 821 抽象数据类型和面向对象的关系是:1、ADT 更加抽象,面向对象更加具体;2、ADT可以在任何编程范 paradigm 中使用,面向对象是一种特定的编程范 paradigm;3、在某些面向对象的编程语言 …
p->next->next是什么意思 2023-04-25 746 p->next->next 表达式可以被用于访问链表中当前节点 p 的下一个节点的下一个节点,从而可以用来遍历或操作链表的特定节点。链表是一种常见的数据结构,它由一系列的节点组成,每个节点 …
为什么完全二叉树不一定是平衡二叉树 2023-04-25 726 完全二叉树不一定是平衡二叉树的原因是:当完全二叉树的节点值按照一定的规则(如从小到大或从大到小)排列时,完全二叉树可能会变得不平衡,因为节点的值的大小并不一定与节点的位置对应。 一、完全二叉树不一定是 …
有哪些数据结构可以可持久化 2023-04-25 729 可持久化的数据结构:1.可持久化线段树;2.可持久化块状数组;3. 可持久化并查集;4.可持久化字典树;5.可持久化分块。其中,维护历史版本的能力就叫可持久化。 一、可持久化的数据结构 1.可持久化线 …
叉排序树的ASL是什么 2023-04-25 707 叉排序树的ASL是平均查找长度,在查找运算中,由于所费时间在关键字的比较上,所以把平均需要和待查找值比较的关键字次数称为平均查找长度。一个算法的ASL越大,说明时间性能差,反之,时间性能好,这也是显而 …
舍伍德(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 728 因为哈希的线性探测法基本思路就是利用 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、任一节点中存储的元素的优先级不大于其儿子节点中元素的优先级。 一、优先级树是什么 …