有点难啊,,得多看看
文章平均质量分 67
比较难的题目,需要多反复练习查看
乐公同学
这个作者很懒,什么都没留下…
展开
-
图的遍历和考法
类似树的层序遍历,需要借助队列辅助遍历,设置一个visited数组,如果遍历过了就可以绕过去。思路:广度优先遍历i节点所在的连通图,遍历完成找到j则证明有路径存在。题目:广度优先算法判断i与j之间是否存在路径。题目:写出深度优先的非递归表示方法。原创 2022-08-19 14:04:42 · 580 阅读 · 1 评论 -
有向图和无向图的代码与存储方式和常见考法
存储方式:在这里介绍邻接表和邻接矩阵的结构,其他存储结构方式考的较少,不在这里一一赘述。原创 2022-08-19 03:12:01 · 1339 阅读 · 0 评论 -
排序代码集合,来看一看
本文分别介绍了直接插入排序,希尔排序,二分插入排序,冒泡排序,快速排序,选择排序,堆排序,归并排序的思想与代码。原创 2022-08-07 02:04:25 · 242 阅读 · 0 评论 -
二叉树常见考法3(内容补充)
思路:要求直径最大,那绝对是两个叶子节点为尾部节点的一条路径,遍历寻找每个节点左右子树的高度,其加在一块快递会有路径最长的情况。思路:利用二叉搜索树的特性,其最小绝对差一定是前后节点的差值,遍历比较所有节点的值,然后对比查找出绝对差最小的两个节点即可。思路:遍历两颗二叉树,如果一颗二叉树子树不存在用另一颗二叉树的节点补上,如果节点都存在就将节点里的值累加。思路:遍历,,将两棵树的叶子节点分别放入两个数组中,检查两个数组里的叶子节点的值就好了。思路:没什么好说的,遍历累加,如果节点值在区间范围内累加就好。..原创 2022-08-06 02:00:36 · 159 阅读 · 0 评论 -
二叉树的常见考法2
思路:利用二叉排序树的特性,计算左或右子树节点的个数,在这里取左子树,如果k大于左子树个数进右子树查找,持续遍历,直到找到k与节点个数相等的情况即可!思路:考虑使用层序遍历算法,在这里需要一个结构体来记录当前节点在数组中的位置来找到后续的孩子节点并链上原节点。思路:利用二叉排序树的特性,中序遍历树,要求前一个结点不大于后一个结点即可。思路:层序遍历,找到节点的孩子均无左右孩子的节点,后序删除即可!考法31.2:孩子兄弟表示法,表示的存储结构,求树的高度。33.1:判断一颗二叉排序树是否是平衡二叉树。....原创 2022-08-05 13:28:13 · 406 阅读 · 0 评论 -
二叉树的常见考法1
关于树的常见考法,思路以及代码的实现原创 2022-07-15 11:57:38 · 360 阅读 · 0 评论 -
线索二叉树的应用
前提:为什么要有线索二叉树这个东东?????? 答:利用原来二叉树的n+1个空位建立线索机制,方便查找前驱和后继。问:可以不学吗?答:不学是不行的,因为考试要考啊。。。。 接下来让我们看看代码吧。。。 结构体:有了结构体干什么呢,当然先建个树玩玩呗。 创建线索二叉树: 问:为什么要加祖先节点呢?答:等会会用到的。。。建就对了,干就完了!!!奥力给 先序线索树的构建:相当于先序遍历一次树,当发现有空域时对树绑定前驱或后继,并进行标记,后面也差不多了。。代码:问:为什么要在递归的时候判断lta原创 2022-07-01 02:29:14 · 1146 阅读 · 1 评论 -
我的链表笔记3,多敲点代码让我心甘情愿,学习。
思路:归并排序链表,因为链表已经有序了且要插入结果相反,使用头插法就可以了。代码:题目:设A和B是两个单链表( 带头结点),其中元素递增有序。设计一个算法从A和B 中的公共元素产生单链表C , 要求不破坏A和B的结点。思路:新建一个链表用尾插法然后比较元素插入即可。代码:题目:已知两个链表.A和B分别表示两个集合, 其元素递增排列。编制函数, 求A与B 的交集, 并存放于链表A中。思路:与上一题类似,只不过无返回值。代码:题目:两个整数序列A=a1,a2,a3...am, 和B=b原创 2022-06-22 01:27:03 · 221 阅读 · 0 评论 -
我的链表笔记2,阳光快乐的每一天都要扣代码哦
思路:每次找出最小节点,删除并继续操作,直到整个链表为空,注意判断条件的变化题目: 单链表有环,是指单链表的最后一个结点的指针指向了链表中的某个结点( 通常单链表的最后一个结点的指针域是空的). 试编写算法判断单链表是否存在环。思路:快慢指针,新建两个指针p,q,q比p始终快一个指针,若pq相遇则代表有环存在题目:〖2009 统考真题〗已知一个带有表头结点的单链表, 结点结构为data,next。假设该链表只给出了头指针list. 在不改变链表的前提下, 请设计一个尽可能高效的算法,原创 2022-06-18 01:49:23 · 487 阅读 · 0 评论 -
我的链表笔记
思路:递归查找,判断节点值是否相等,如相等删除即可!代码:题目: 在带头结点的单表L 中,删除所有值为x 的结点,并释放其空间,假设值为的结点不唯一, 试编写算法以实现上述操作。思路:循环查找值为X的节点删除即可。代码:题目:设L 为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。思路:利用栈先进后出的特性,对节点倒置打印即可。代码:题目:试编写在带头结点的单链表L 中删除一个最小值结点的高效算法( 假设最小值结点是唯一的)思路:遍历链表,比较值,保存值小的节点然后原创 2022-06-12 14:08:48 · 374 阅读 · 0 评论 -
我的线性表笔记3
题目:设将n(n>1) 个整数存放到一维数组R中。设计一个在时间和空间两方面都尽可能高效的算法。将R中保存的序列循环左移p(0原创 2022-06-04 22:35:52 · 409 阅读 · 2 评论 -
线性表笔记2
这里给出我觉得需要注意下标的代码题目:将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表思路:先循环遍历其中的一个顺序表,将其中元素比较完后放置在一个新的顺序表里,然后再检查是否有顺序表未遍历完的部分,如未遍历完直接接上即可(此时后面元素有序)代码:StaticSqlist mergetwolist(StaticSqlist a,StaticSqlist b){ StaticSqlist l; l.length = 0; int i=0,j=0,k=0; while原创 2022-05-16 14:11:15 · 175 阅读 · 0 评论