- 博客(5)
- 收藏
- 关注
原创 堆(最大堆与最小堆)
下面给出具体的实现代码,以及测试,用c++实现,代码右边有注释。,(为了方便,从1开始存,下标0 号位置不存),因此下标为。2.删除堆顶元素(也就是最大元素),之后仍保持最大堆的特性。由于最大堆的逻辑结构是一棵完全二叉树,因此可以通过。最大堆中的每一个父节点的值均大于其子结点的值。3.插入元素,同样插入后仍保持最大堆的特性。(按照整数除整数计算,例如5/2=2)1.由给定的一个数组序列,创建最大堆。而兄弟结点直接没有什么大小关系。的结点,它的左儿子在。
2024-06-28 11:47:01
320
原创 平衡二叉树
c.如果新根结点原来有左子树,则作为旧根结点的右子树。c.如果新根结点原来有右子树,则作为旧根结点的左子树。b.之后对根结点这个整数进行向右旋的操作。b.之后对根结点这个整树进行向左旋的操作。b.原来根结点作为新根结点的左子树。b.原来根结点作为新根结点的右子树。处理: a.对根结点的左子树进行向右旋的操作。处理: a.对根结点的右子树进行向左旋的操作。a.将其根结点的左子树作为新的根结点。1.任意结点的左右子树均为平衡二叉树。a.将其根结点的右子树作为新的根结点。
2024-06-27 11:57:09
357
原创 搜索二叉树
当树非空时,其右子树的结点值都大于根节点值,其左子树的结点值都小于根结点值,同样它的左右子树也是搜索树。同时本文也给出了层序生成二叉树,与层序遍历二叉树(广度优先)的操作。4.搜索树中删除指定值的结点,同时也保证树的有序性。3.向搜索树中插入元素(保证树的有序性)2.查找树中的最大与最小元素。1.二叉搜索树查找指定元素。
2024-06-25 10:46:25
181
原创 线索二叉树
由于含有n个结点的二叉树,有2n个指针域,然而只有n-1 个指针域被利用,还剩下 n+1 个指针域,是空闲的,而线索化正是利用这些空的指针域,,而当这个结点没有右儿子时,我们让其右指针指向其遍历的下一个元素,即。当这个结点没有左儿子时,我们让其左指针指向遍历的前一个元素,即其。定义全局变量指针pre始终指向遍历结点的前一个遍历的结点。,同时为了区分这个指针存放的是否为线索,设置标志位。的代码实现,在本文中仿照链表定义了一个。,在线索化完成后,我们让头结点。指向中序遍历的最后一个元素。
2024-06-21 15:32:27
115
原创 静态链表的算法,包括 链表初始化,头插法,尾插法建立链表,删除链表指定元素,链表的遍历。
/循环终止时即 L[p].cur =0 ,为数据表的结尾。if(L[0].cur==0) //考虑备用链表为空的情况。
2024-01-27 10:07:16
922
1
空空如也
评价学习路线,学习方向
2024-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人