欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

新闻资讯

哈希游戏| 哈希游戏平台| 哈希游戏APP

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

哈希游戏- 哈希游戏平台- 官方网站计算机保研面试常见问题(408数据结构简答题)

作者:小编2025-02-21 13:52:41

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

哈希游戏- 哈希游戏平台- 哈希游戏官方网站计算机保研面试常见问题(408数据结构简答题)

  删除操作同样是基于查找操作,首先查找到欲删除的结点。此时,删除结点通常包括三种情况:① 若删除的结点是叶子结点,则可以直接将结点删去;② 若删除的结点只有左孩子或者右孩子,则用它的孩子代替它;③ 若删除的结点有左右孩子,则可以寻找其中序遍历的直接前驱或者直接后继代替它,再删去该直接前驱或直接后继。具体做法是:寻找删去结点的左子树的右右右孩子直到右孩子为空,即为直接前驱,或者寻找右子树的左左左孩子直到左孩子为空,即为直接后继。替代之后,再按照①②情况对直接前驱或后继进行删除。

  答:哈夫曼树又称为最优二叉树,其特点是,给定一组带权的叶子结点,若构造所得到的二叉树拥有最小的带权路径长度WPL,则称该二叉树为一棵哈夫曼树。构造哈夫曼树的具体过程是:将带权叶子结点并入一个集合,首先在集合中挑选出两个权值最小的叶子结点进行合并(值相加)得到新的结点加入集合,再将两个被选中的结点剔除出集合。在树的构造上,将这两个结点作为叶子结点衔接到合并而成的新结点上。重复以上过程直到集合中只有一个元素,哈夫曼树则完成构造。

  答:对于普通的树来说,存储结构通常分顺序存储与链式存储,并且再细分为以下三种存储结构:① 双亲表示法:这是一种顺序存储结构,以顺序表为载体,每个结点有数据域和双亲位。其中,双亲位存储的数据是该结点的父节点所存储的下标;② 孩子表示法:这是一种顺序存储结构与链式存储结构的结合,每个结点有数据域和第一个孩子指针域,以链表的形式存储该结点所有孩子的下标数据;③ 孩子兄弟表示法:这是一种链式存储结构,每个结点有两个指针域,一个是指向自己的第一个孩子结点,另一个则指向自己的第一个右兄弟。

  而对于二叉树来说,也可以分为顺序存储与链式存储结构。① 顺序存储结构中,按照二叉树层序遍历的顺序将结点存储于顺序表中,特别注意空节点也需要占有位置。若某结点下标为i,则其左孩子下标为2i,右孩子下标为2i+1,父节点下下标为i/2向下取整。该存储结构适合存储完全二叉树;② 链式存储结构中,每个结点通常一个数据域与两个指针域,分别指向自己的左孩子和右孩子。而为了充分利用左右孩子指针,可以将左孩子指向自己的前序、中序或后序遍历的直接前序,右孩子指向直接后继,从而形成二叉线. B树和B+树的区别?

  答:B树是一种多路平衡查找树。首先,多路是因为对于一棵m叉B树,每个结点最多有m棵子树,并且结点有m-1个关键字。关键字的左子树的关键字都小于当前,右子树的关键字都大于当前。而为了保持较高的查找效率,B树的高度不能太高,因此限定除了根节点以外(根节点至少要有一个关键码,即要有两个分支),所有结点的关键码个数不能少于m除以2向上取整再减1个。而平衡是因为B树是一棵高平衡树,所有结点的平衡因子都为0,叶子结点均在最后一层,倒数第二层称为终端结点。

  B+树与B树有所不同,主要有以下几点:① B+树的结点关键码个数与结点的子树个数相同,而B树中关键码个数比子树个数少1; ② B+树的关键码存储的是其对应子结点中关键码的最大值,利用了分块查找的思想,而B树则是利用了二分查找的思想; ③ B+树的倒数第二层称为索引结点,通过指针彼此连接,而B树的倒数第二层是终端结点,没有相互连接; ④ B+树的结点不存储记录,记录只存储在最后一层的叶子结点中,因此查找结束通常发生在叶子结点,而B树的每个结点都存储记录,因此查找结束可以发生在任何结点。 ⑤ 由于B+树的特性,其可以实现范围查找(通过索引结点的索引遍历),并且查找速度稳定,相反B树不能实现范围查找(每次都需要从头开始查找),速度不稳定。

  i+2。首先将初始堆(待排序序列)按照顺序存储在数组中。初建堆的过程将从最后一个分支节点开始,若结点的值小于其左孩子与右孩子中较大的一个,则与该孩子结点进行交换,直到无法再交换为止。然后再对倒数第二个分支结点进行调整,直到完成对根节点的调整即完成大根堆的建堆过程。若需要进行堆排序,则将根节点与最后一个叶子结点进行交换,并将最后一个叶子结点移除序列(该结点即为序列中最大的结点),而后对新的根节点进行调整形成堆结构,重复上述过程直到所有结点都移除堆结构即可得到已排序的序列。