其中111是南京航空大学的2001的考研改编

hathor 免费考研论坛/2006-12-20

原文内容来自免费考研论坛,请点击查看全文
http://bbs.freekaoyan.com/viewthread.php?tid=93546
1111试编写算法,将数组 int A[n]中的所有奇数移到所有偶数之前,要求时间复杂度为 O(n)。



1、试编写算法,将数组 int A[n]中的所有奇数移到所有偶数之前,要求时间复杂度为 O(n)。
1、 设一单链表,其结点结构为 data link,试编写算法,将所有数据域中内容为奇数的结点
移动至所有数据域中内容为偶数的结点之前。
2、 已知两个栈stack1与stack2共享存储空间A[1..n],其中stack1的栈底设在A[1]处,stack2
的栈底设在 A[n]处,分别编写两个栈 stack1 与 stack2 的进栈 push(i,x)、退栈 pop(i)和置
栈空 MakeEmpty(i)的函数,其中 i=1,2,并且只有整个存储空间 A[1..n]全部被占满时才
发生溢出问题。

2
1、设二叉树采用链表表示,各结点结构为 lchild data rchild,其中 data 为整数型字段,设计
一算法打印出其中值为正整数的结点值,并要求打印次序满足:每个结点不能比其孩子结点
先打印。
2、用非递归的方法求一棵二叉树的高度。二叉树每个结点的格式为:左孩子结点指针、数
据域、右孩子结点指针。



其中111是南京航空大学的2001的考研改编,
如下算法:
Var%2==1奇 Var%2==0偶 遍历两三遍时间复杂度也是O(n) O(3n)=O(n)
int JiShu[n]; int OuSh[n]; int CurJ=0; int CurO=0; for(int i=0; i<n; i ) { if(A%2==0) { OuSh[CurO ]=A; } else { JiSh[CurJ ]=A; } } // 然后把数组拼起来就可以了

} else { JiSh[CurJ ]=A; } }


上述几道算法还请高手赐教,谢谢!

相关话题/

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19