- 185
- 0
- 约2.59万字
- 约 15页
- 2024-07-18 发布于上海
- 举报
第章绪论
1
5.选择题:CCBDCA
6.试分析下面各程序段的时间复杂度。
()()
1O1
()()
2Om*n
2
()()
3On
()(n)
4Olog3
2
()因为共执行了……+,所以执行时间为()
5x++n-1+n-2+1=n(n-1)/2On
()n
6O()
第章线性表
2
1.选择题
babadbcabdcddac
2.算法设计题
()设计一个算法,通过一趟遍历在单链表中确定值最大的结点。
6
ElemTypeMax(LinkListL){
if(L-next==NULL)retrnNULL;
pmax=L-next;//假定第一个结点中数据具有最大值
p=L-next-next;
while(p!=NULL){//如果下一个结点存在
if(p-datapmax-data)pmax=p;
p=p-next;
}
retrnpmax-data;
()设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表
7
的存储空间。
voidinverse(LinkListL){
//逆置带头结点的单链表L
p=L-next;L-next=NULL;
while(p){
q=p-next;//q指向*p的后继
p-next=L-next;
L-next=p;//*p插入在头结点之后
p=q;
}
}
()已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为(n)、空间
10O
复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。
[题目分析]在顺序存储的线性表上删除元素,通常要涉及到一系列元素的移动(删第
i个元素,第i+1至第n个元素要依次前移)。本题要求删除线性表中所有值为item的数据
元素,并未要求元素间的相对位置不变。因此可以考虑设头尾两个指针(i=1,j=n),从两
端向中间移动,凡遇到值item的数据元素时,直接将右端元素左移至值为item的数据元素
位置。
voidDelete(ElemTypeA[],intn)
∥A是有n个元素的一维数组,本算法删除A中所有值为item的元素。
{i=1;j=n;∥设置数组低、高端指针(下标)。
while(ij)
{while(ijA[i]!=item)i++;∥若值不为item,左移指针。
if(ij)while(ijA[j]==item)j--;∥若右端元素值为item,指针左移
if(ij)A[i++]=A[j--];
}
算法讨论因元素只扫描一趟,算法时间复杂度为()。删除元素未使用其它辅助
您可能关注的文档
- 火灾逃生四要点和自救知识口诀.pdf
- 机电应用类专业期末考试试题及答案.pdf
- 步进电机加减速曲线介绍.pdf
- 昆虫记第二章蜣螂批注.pdf
- 旅游出行温馨提示语.pdf
- 师才比师德重要一、二四辩论稿及问题.pdf
- 数学复习课教案(三角函数).pdf
- 小篮球大单元计划、教学计划.pdf
- 总结的写作要求.pdf
- 放射科应急预案(精选10篇).pdf
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)