算法笔记
文章平均质量分 87
阿桂爱敲代码
计算机院数字媒体技术专业在读本科生
展开
-
王道课后代码大题---树与二叉树
一.二叉树的概念1.求两结点的最近公共祖先结点(二叉树任意两个结点必然存在最近的公共祖先结点) 已知一颗二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个结点的最近公共祖先结点方法一思想 最坏的情况是最近公共祖先结点为根节点,而且从最近的公共祖先结点到根节点的全部祖先结点都是公共的。由二叉树的顺序存储的性质可知,任意结点i的双亲结点的编号为i/2,求解i和j最近公共祖先结点的算法步骤如下(设从数组下标1开始存储)(1)若i>j,则结点i所在层次大于等于结点j所在层次。结原创 2021-07-25 14:17:25 · 1605 阅读 · 4 评论 -
数据结构与算法--逆置
目录一.顺序表的逆置1.设计一个高效的算法,将顺序表L中的所有元素逆置思想:代码:2.已知在一维数组A[m+n]中依次存放两个线性表(a1,a2,...am)和(b1,b2,...bn)尝试编写一个函数将数组中两个顺序表的位置互换,即将(b1,b2,...bn)放在(a1,a2...am)的前面思想:代码:3.带头结点的单链表从尾到头反向输出方法一:尾插法实现反向输出方法二:栈来实现思想:方法三:递归来实现思想:代码:4.带头结点的单链表就地逆原创 2021-07-24 16:40:04 · 3954 阅读 · 0 评论 -
数据结构与算法--删除的各种情况
目录一.删除最小值元素1.顺序表思想:代码:2.单链表思想:时间复杂度为O(n),空间复杂度为O(1)代码:二.删除所有值为x 的元素1.顺序表方法一.思想:代码:方法二思想:代码:2.单链表(1)不带头结点思想:代码:(2)带头结点方法一思想:代码:方法二思想:尾插法建立单链表代码:三.删除某范围内(s1.顺序表(1)有序顺序表思想:代码:(2)无序顺序表思想:代码:原创 2021-07-24 16:17:48 · 1158 阅读 · 0 评论