自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gc的博客

用于记录自己每天的学习内容

  • 博客(73)
  • 收藏
  • 关注

原创 设计一个算法,从大到小输出二叉排序树中所有值不小于 k 的关键字。

【代码】设计一个算法,从大到小输出二叉排序树中所有值不小于 k 的关键字。

2023-12-18 20:49:19 601

原创 设计一个算法,求出给定二叉排序树中最小和最大关键字。

【代码】设计一个算法,求出给定二叉树中最小和最大关键字。

2023-12-18 20:36:48 471

原创 利用二叉树遍历的思想编写一个判断二叉树是否是平衡二叉树的算法

设置二叉树的平衡标记为balance,若 balance 为 1,则是平衡二叉树,若为0,则不是。

2023-12-17 23:05:12 523

原创 设计一个算法,求出指定结点在给定二叉排序树中的层次

在二叉排序树中,每查找一次就下降一层,因此查找该结点所用的次数就是其所在的层数,利用非递归算法。

2023-12-17 22:36:47 584

原创 判断二叉树是否是二叉排序树。

【代码】判断二叉树是否是二叉排序树。

2023-12-17 22:18:35 326

原创 设有一个带头结点的循环单链表,其结点均为正整数。设计一个算法,反复找出单链表中结点值最小的结点输出,然后将该结点从中删除,直到单链表为空为止,再删除头结点。

【代码】设有一个带头结点的循环单链表,其结点均为正整数。设计一个算法,反复找出单链表中结点值最小的结点输出,然后将该结点从中删除,直到单链表为空为止,再删除头结点。

2023-12-17 21:43:04 501

原创 有两个循环单链表,链表头指针分别为 h1 和 h2,编写一个函数将 h2 链接到 链表h1 之后,要求处理完仍是一个循环单链表。

注意题目说的是头指针 h1 和 h2,所以这两个循环单链表并没有头结点。

2023-12-17 21:21:04 385

原创 设计一个算法用于判断循环双链表是否对称。

分为两个情况,奇和偶,为奇(q=p)时用q!=p作为结束条件,为偶(p->next=q&&q->prior=p)时用 q->next!= p 作为结束条件,因为不能在p->next=q&&q->prior=p 的条件下就退出循环这样会少判断一对。

2023-12-17 21:10:43 517

原创 已知两个链表A 和 B分别表示两个集合,其元素递增排列。编写函数求 A 和 B 的交集,并存放在 A 中。

【代码】已知两个链表A 和 B分别表示两个集合,其元素递增排列。编写函数求 A 和 B 的交集,并存放在 A 中。

2023-12-17 20:46:14 490

原创 设A 和 B 是两个带头结点单链表,其中元素递增有序,设计一个算法从 A 和 B 中的公共元素产生 C,要求不破坏 A 和 B 的结点。

【代码】设A 和 B 是两个带头结点单链表,其中元素递增有序,设计一个算法从 A 和 B 中的公共元素产生 C,要求不破坏 A 和 B 的结点。

2023-12-16 22:14:05 787

原创 假设有两个按元素值递增次序排列的线性表以单链表形式存储,设计算法使得两个表合并为一个递增的单链表。要求利用原来两个单链表来存储归并后的单链表。

【代码】假设有两个按元素值递增次序排列的线性表以单链表形式存储,设计算法使得两个表合并为一个递增的单链表。要求利用原来两个单链表来存储归并后的单链表。

2023-12-16 21:57:46 325

原创 一个递增有序的单链表,去除其中值重复的元素。

【代码】一个递增有序的单链表,去除其中值重复的元素。

2023-12-16 21:37:15 567

原创 将一个带头结点单链表 A分解为A 和 B 使得 A 中为奇数项元素,B 中为偶数项元素,保持其相对顺序不变。

【代码】将一个带头结点单链表 A分解为A 和 B 使得 A 中为奇数项元素,B 中为偶数项元素,保持其相对顺序不变。

2023-12-16 21:03:58 337

原创 按照递增次序输出单链表中各结点的数据元素,并释放结点所占的空间。

【代码】按照递增次序输出单链表中各结点的数据元素,并释放结点所占的空间。

2023-12-14 22:59:10 441

原创 给定两个单链表,找出其公共结点

分别遍历两个单链表得到他们的长度,并求出两个长度之差。在长的链表上先遍历长度之差个结点之后,再同步遍历两个链表,直到找到相同的结点,或者一直到链表结束。

2023-12-14 22:33:39 407

原创 求二叉树中值最大的结点所在层数

【代码】求二叉树中值最大的结点所在层数。

2023-12-14 22:18:49 523

原创 设在一个带表头结点的单链表中所有元素结点的数据值无序,试编写一个函数,删除表中所有介于给定的两个值(作为函数参数给出)之间的元素。(若存在)

【代码】设在一个带表头结点的单链表中所有元素结点的数据值无序,试编写一个函数,删除表中所有介于给定的两个值(作为函数参数给出)之间的元素。(若存在)

2023-12-08 13:37:33 398

原创 有一个带头结点的单链表L,设计一个算法使其元素递增有序。

【代码】有一个带头结点的单链表L,设计一个算法使其元素递增有序。

2023-12-06 19:22:49 427

原创 试编写算法将带头结点的单链表就地逆置(就地是指辅助空间复杂度为 O(0))。

将单链表就地逆置可以考虑使用头插法。

2023-12-06 19:09:46 476

原创 试编写在带头结点的单链表中删除一个最小值结点的算法(假设最小值结点唯一)。

【代码】试编写在带头结点的单链表中删除一个最小值结点的算法(假设最小值结点唯一)。

2023-12-06 13:59:09 451

原创 设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。

从尾到头反向输出可以考虑使用头插法。

2023-12-06 13:51:36 600

原创 在带头结点的单链表L中,删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一,编写算法实现上述操作。

【代码】在带头结点的单链表L中,删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一,编写算法实现上述操作。

2023-12-06 13:40:39 507

原创 设计一个递归算法,删除不带头结点的单链表中所有值为x的结点。

【代码】设计一个递归算法,删除不带头结点的单链表中所有值为x的结点。

2023-12-06 13:25:29 466

原创 线性表(a1,..,an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法完成用最少时间在表中查找数值为X的元素,若找到则将其与后继元素位置相交换若找不到,则将其插入表中并使表中元素保持有序。

【代码】线性表(a1,..,an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法完成用最少时间在表中查找数值为X的元素,若找到则将其与后继元素位置相交换若找不到,则将其插入表中并使表中元素保持有序。

2023-12-05 22:57:40 400

原创 已知在一维数组A[m+n]中依次存放两个线性表(a1,..,am)和(b1,.,bn)。编写一个函数,将数组中两个顺序表的位置互换,即将(b1,.,bn)放在(a1,..,am)的前面。

【代码】已知在一维数组A[m+n]中依次存放两个线性表(a1,..,am)和(b1,.,bn)。编写一个函数,将数组中两个顺序表的位置互换,即将(b1,.,bn)放在(a1,..,am)的前面。

2023-12-05 19:09:55 989

原创 将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。

【代码】将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。

2023-12-05 14:00:54 577

原创 从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。

【代码】从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。

2023-12-05 13:46:47 337

原创 从顺序表中删除其值在给定值s与t之间 (包含s和t,要求s<t) 的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。

【代码】从顺序表中删除其值在给定值s与t之间 (包含s和t,要求s<t) 的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。

2023-12-04 23:49:07 396

原创 对长度n为的顺序表L,编写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法删除线性表中所有值为x的数据元素。

【代码】对长度n为的顺序表L,编写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法删除线性表中所有值为x的数据元素。

2023-12-04 23:26:44 356

原创 设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为 O(1).

【代码】设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为 O(1).

2023-12-04 23:19:37 476

原创 从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位 置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

【代码】从顺序表中删除具有最小值的元素(假设唯一) 并由函数返回被删元素的值。空出的位 置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

2023-12-04 23:11:10 834

原创 统计二叉树中给定值 G从根节点到它的路径。

基调是后序遍历,因为需要输出其祖先。借助后序非递归遍历。

2023-12-03 23:42:32 418

原创 二叉排序树,data域均大于0,并且有可能存在相同的结点,打印(升序)所有结点,重复结点仅打印一次。

二叉排序树,左子树<根<右子树。为了避免重复打印,可以设置一个 pre 值,在每次打印之前判断是否与上一个结点值相同。

2023-12-03 23:15:50 483

原创 一棵最少有两个结点的二叉排序树,求最小的两个结点。

最小的值存在于树的最左侧设为 min,而次小值应该是刚访问过的结点 设为 premin。

2023-12-03 13:46:50 404

原创 计算给定元素X的结点在二叉树中的层次号。

【代码】计算给定元素X的结点在二叉树中的层次号。

2023-12-02 23:35:29 412

原创 孩子兄弟表示法求叶子结点个数。

孩子兄弟表示法有三部分:数据值、第一个孩子结点、相邻兄弟结点。

2023-12-02 22:50:58 398

原创 求二叉排序树中最大关键字。

二叉排序树性质是:左子树的值<根的值<右子树的值。

2023-12-02 22:45:51 383

原创 求二叉树中距根最近的叶子结点。

求距根最近的叶子结点,可以借助层次遍历,每当出队时判断出队结点是否是叶子结点,若是则该结点为离根最近的结点。

2023-12-02 19:23:40 419

原创 求二叉树叶子结点个数或求二叉树非叶子结点个数。

考虑递归和非递归两种方法。

2023-12-02 19:12:41 625

原创 设计一个求结点x在二叉树中的双亲结点。

【代码】设计一个求结点x在二叉树中的双亲结点。

2023-12-02 18:51:32 366

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除