- 博客(6)
- 收藏
- 关注
原创 中心对称问题,也是一个字符串是否为回文串
我们先将前一部分的字符压入栈中,然后开始执行出栈操作,将每一个出栈 的元素与链表剩下的元素一一对比,如果单链表走到尾了,并且栈中的元素 空了,说明是中心对称,否则则不是。写出算法dc(h,n), 判断该链表的前n 个字符是否中心对称。算法思想:因为这个问题我们是知道字符串的长度的,问题就变得简单许多了。分两种情况:(一) :字符串的长度是偶数。
2025-04-25 22:09:29
294
原创 假定数组A[0,……,n-1]中有多个零元素,试写出一个函数,将A中所有的非零元素依次移动到数组A的前端。
算法思想:遍历数组,找到一个非零元素就把它的值复制与所设的索引位置的值域中。算法时间复杂度:O(n);算法空间复杂度:O(1);
2025-04-25 21:53:08
157
原创 如果一个序列是一个先单调递增后单调递减的序列,那么它称为双调序列。设计一个尽可能 效的算法,找到由 N 个数组成的一个双调序列中最大的值。
算法思想:定义一个指针让它指向单链表的第一个元素,让它去遍历单链表,当它的下一个指针的值域小于它所在指针的值域的时候,就退出循环。算法的时间复杂度:O(n);算法的空间复杂度:O(1);
2025-04-25 21:18:22
435
原创 已知两个带头结点的单向循环链表,LA和LB分别是链表的头指针,LA=(a₁,az…,am), LB=(b₁,b₂…,bn)。 * 编写算法,将LA和LB合并成一个单向循环链表LC=(a₁,az…,a
【代码】已知两个带头结点的单向循环链表,LA和LB分别是链表的头指针,LA=(a₁,az…,am), LB=(b₁,b₂…,bn)。* 编写算法,将LA和LB合并成一个单向循环链表LC=(a₁,az…,a。
2025-04-24 19:06:39
167
原创 设将n(n>1)个整数存放到一维数组 R中。试设计一个在时间和空间两方面都尽可能高效的算法。将R中保存的序列循环左移p(0(X0,X1,…,Xn-1)变换为(Xp,Xp+1,…,Xn-1,X0,X1
数据结构算法
2025-04-24 18:56:11
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅