为什么二叉树的根结点常常是指向指针的指针 2023-04-22 761 因为在创造一颗树时,在申请根结点空间时,地址可能会发生变化,而这种变化是无法判断的,是系统自动发生的,单个指针就无法找到变化后的地址,所以 ,用指针的指针,找到变化后的地址。 一、为什么二叉树的根结点 …
为什么Redis一定要用跳表来实现有序集合 2023-04-22 638 跳表的全称是跳跃表,它的基础是有序链表,在有序链表的基础上,增加多级索引,实现快速查找。跳表的所有额外索引结点总数为 n2+n4+n8+…+4+2=n−2n2+n4+n8+…+4+2=n−2,所以跳表 …
邻接表为什么不用set而用vector存储 2023-04-22 795 因为邻接表不需要有序,它只是用来存边的。邻接表较好使用链式前向星,vector存图常数有点大。set的功能:有序、判重、查询,这些对于邻接表来说是累赘。邻接表只需要把边存下来并维护边与边之间的联系即可 …
操作系统几种主要的页面置换算法分别是用什么数据结构实现的 2023-04-22 655 算法通常只是描述解决问题的一个步骤,具体用什么数据结构实现则是视情况而定。LRU“实现起来比较困难,且开销大是因为LRU算法希望淘汰最后未使用的页面,而CLOCK算法则放低的要求,较久未使用即可,不一 …
mysql索引结构有哪些,各自的优劣是什么 2023-04-22 615 mysql索引结构有B+树,是⼀个平衡的多叉树,一个节点可以有多个数据内容,这样就不会出现二叉树那样数据庞大的时候,树的高度比较高的情况,查询的次数就会少。 一、mysql索引结构 B+树: B树是⼀ …
单调栈什么时候从后向前遍历,什么时候从前向后遍历 2023-04-22 642 如果是求右边的名列前茅个最大,那么就是从右向左遍历,构建单调递增栈;如果是求右边的名列前茅个最小,那么就是从右向左遍历,构建单调递减栈。如果是求左边的名列前茅个最大,那么就是从左向右遍历,构建单调递增 …
数据结构中存取结构和存储结构有什么不同 2023-04-22 687 所谓存储结构,指的是数据在内存中真实的存储状态,具体可分为 2 类,即顺序存储结构和链式存储结构。而存取结构,指的是存取数据的方式,具体也可以分为 2 类,分别为顺序存取结构和随机存取结构。 一、数据 …
什么是客户体验管理 2023-04-22 758 客户体验管理是近年兴起的一种崭新客户管理方法和技术,是指企业采用一系列方法和策略来维护和改进客户对企业产品和服务的整体印象和感受,从而提升客户的满意度、忠诚度和购买率的管理活动。 一、客户体验管理的概 …
redis和平常写的数据结构有什么区别 2023-04-22 606 最大的区别,redis 作为缓存组件,可以独立部署。这也是为什么本地内存很快,但还是要用 redis 这类缓存的原因。Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库、缓存、消息中间 …
Hbase数据结构列、列族、数据存储类型,RDMS的区别 2023-04-22 662 HBase 和 MySQL 的区别就是:将不同的列归属与同一个列族下;支持多版本数据在HBase中, 数据的存储使用了 LSM 树进行存储. 其中每一条数据都是一条操作记录。 一、Hbase数据结构 …
堆栈、队列、树、链表是什么,之间有什么关系 2023-04-22 753 堆栈实现了一种后进先出的语义,可以使用数组或者是链表来实现它;队列实现了先入先出的语义,队列也可以使用数组和链表来实现;链表是在非连续的内存单元中保存数据等。它们都是非常重要的数据结构。 一、堆栈、队 …
为什么Oracle使用B-树而不使用B+树 2023-04-22 781 因为Oracle叶子节点存储的是键值+rowid,B-Tree不同于Binary Tree(二叉树,非常多有两个子树),一棵M阶的B-Tree满足以下条件:1)每个结点至多有M个孩子;2)除根结点和叶 …