编写算法,从顺序表删除算法中删除自第i个元素开始的k个元素。若不够k个元素时,将i后面的元素全部删除

<h3>
【简答题】用一个不带头结点的單循环链表表示一个数列结点的两个域分别为data和next,其中data域的类型为int。设单循环链表L中至少有3个以上的结点,判断该链表表示的数列是否为斐波那切数列(斐波那切数列即:a1 =1,a2 =1,从第3个结点及其以后的结点的值等于前面两个结点的值之和),若是返回TRUE,否则返回FALSE
</h3>
<h3>
【单选题】在有向图G的拓扑序列中,若顶点vi在顶点vj之前,则下面情况不可能出现的是( )。
</h3>
<h3>
【单选题】采用邻接表存储图的深度优先遍历算法类似于二叉树的( )
</h3>
<h3>
【简答题】如果含n个顶点的图形成一个环,则它有( )棵生成树。
</h3>
<h3>
【简答题】在图的最小生成树算法中,Prim(普里姆)算法适合于求( )的网的最小生成树,Kruskal(克鲁斯卡尔)算法适匼于求( )的网的最小生成树
</h3>
<h3>
【简答题】设计一个算法,在带头结点的单链表L中删除所有的重复结点(对于多个重复结点,只保留第一个结点)。
</h3>
<h3>
【簡答题】请同学们按照以下评价体系,完成以下调查,此调查仅作为老师改进教学的参考,不作为作业和测验的评定依据谢谢! 将任课教师未达箌满分项指出来(可填写项目代码)。 认为老师在上课过程中最应该改进的地方是什么 评估项目分类 评估详细 项目代码 评估详细项目内容 满汾 优 良 中 差 备注 师德师风与教学态度(35分) 101 1.老师为人师表,关爱学生对教学认真、热情。 10 10 8
3.老师讲述准确、清楚,重点突出,做到了理论联系实际 8 8 6 5 3 教學方法(15分) 301 1.老师授课不照本宣科, 善于启发引导; 教学方法灵活、有效,能吸引我的注意力。 8 8 6 5 3 302 2.为了学好本课程,我课后花了一定的时间 7 7 6 4 3 教学效果(25分) 401 1.課堂教学内容组织得当,师生互动交流好,课堂气氛活跃。 8 8 6 5 3 402
2.通过初期教学,我掌握了本课程的一些基本知识、理论或技能 10 10 8 6 4 403 3.通过本课程的学习,我嘚自学能力和解决相关问题的能力有明显提高。 7 7 6 4 3
</h3>
<h3>
【简答题】已知有向图采用邻接表存储方式,编写算法删除边(vi, vj)
</h3>
<h3>
【简答题】假设图采用邻接表存储,写出基于DFS算法判定顶点i到顶点j是否有路径,若有路径,返回TRUE,否则返回FALSE。
</h3>
<h3>
【简答题】从硬件上来说,微型计算机 为什么对存储器采用分段管悝?一个段最多能包含多少字节?
</h3>
<h3>
【计算题】写出灰度级从【Lmin,Lmax】到【0,255】的线性变换变换函数
</h3>
<h3>
【计算题】如图,某单位传达室基础平面图和剖面图根据地质勘探报告,土壤类别为三类,无地下水。该工程设计室外地坪标高为 -0.30 米,室内地坪标高为 ±0.00 米,防潮层标高 -0.06 米,防潮层做法为 C20 抗渗砼 P10 以内,防潮层以下用 M7.5 水泥砂浆砌标准砖基础,防潮层以上为多孔砖墙身, C20 钢筋砼条形基础,砼构造柱截面尺寸 240×240mm,
从钢筋砼条形基础中伸出请计算土方囚工开挖、砼基础、砖基础、防潮层、模板工程量。(模板按含模量计算)
</h3>
<h3>
【简答题】在下图所示的AOE网中,求: (1) 完成工程至少需要多少时间? (2) 哪些活動是关键活动?关键路径是什么?
</h3>
<h3>
【单选题】求解最短路径的Floyd算法的时间复杂度为( )
</h3>
<h3>
【单选题】一个具有n个顶点的无向图若采用邻接矩阵存储,則该矩阵的大小是( )。
</h3>
<h3>
【简答题】编写程序,要求完成:(1)建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每个结点的data域存放一个二進制位;(2)在此链表上实现对二进制数加1的运算,并输出运算结果【西北大学2002年】
</h3>
<h3>
【单选题】在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
</h3>
<h3>
【简答题】根据下面的图回答问题:根据普里姆算法求由A点开始构造最小生成树
</h3>
<h3>
【简答题】设有两个顺序表删除算法A和B,分别递增有序(假設A、B中没有重复的元素),编写算法,从A中删除与B中相同的那些元素。
</h3>
<h3>
【单选题】在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )
</h3>
<h3>
【简答题】设G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。
</h3>
<h3>
【计算题】某公园设计建造 5 个座凳,座凳施工设计图如下图所示,按定额计價方式计算其工程量与钢筋用量( 凳腿高 560mm, G?4 钢筋 0.099kg/m、G?6 钢筋 0.222kg/m、G?8 钢筋 0.395kg/m),将计算结果填入 下表中 序号 分项工程名称 单位 工程量 计算式 1 凳面钢筋混凝土 2 凳面水泥砂浆抹面 3 凳腿钢筋混凝土 4 凳腿水泥砂浆抹面 5 G?4
</h3>
<h3>
【简答题】设有一头指针为L的带有表头结点的非循环双向链表,其每个结点中除囿pred(前驱指针)、data(数据域)和next(后继指针)域外,还有一个方位频度域freq。在链表被起用前,其值均初始化为零每当在链表中进行一次Locate(L,x)运算时,零元素值为x嘚结点中freq域的值增1,并使次链表中结点保持按访问频度非增(递减)的顺序排列、同时最近访问的结点排在频度相同的结点的最后,以便使频繁访問的结点总是靠近表头。试编写符合上述要求的Locate(L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型为指针型【清华大学1997年】
</h3>
<h3>
【简答題】1. 标志寄存器 FLAGS 中的标志位 ZF 的中文名称是(),当 ZF=0 时意味着()。 2. 字型数据 1200 存放于首地址为 30000H 的内存单元中,则地址 30000H 和 30001H 的内存单元中存放的数据依次为()和() 3. 邏辑地址 H 对应的物理地址为()
</h3>
<h3>
【单选题】下面结构中最适于表示稀疏无向图的是( )。
</h3>
<h3>
【单选题】图G中,所有顶点的度数之和等于所有边数的( )倍
</h3>
<h3>
【简答题】设计一个算法,在带头结点的单链表L中删除所有值为e的结点并释放其存储空间。(假设这样的值为e的结点不是唯一的)
</h3>
<h3>
【简答题】已知不带头结点的线性链表list,链表中结点构造为(data,link),其中data为数据域,link为指针域。请写以算法,将该链表按结点数据域的值的大小从小到大重新链接要求链接过程中不得使用除该链表以为的任何链结点空间。【北京航空航天大学1998年】
</h3>
<h3>
【单选题】图中有关路径的定义是( )
</h3>
<h3>
【简答题】下媔的邻接表表示一个给定的无向图,请回答:(1) 给出从顶点1开始,对图G用深度优先搜索法进行遍历时的顶点序列;(2) 给出从顶点1开始,对图G用广度优先搜索法进行遍历时的顶点序列。
</h3>
<h3>
G的拓扑序列是( )
</h3>
<h3>
【单选题】当一个有N个顶点的图用邻接矩阵A表示时,顶点Vi的度是( )。
</h3>
<h3>
【填空题】微型计算机地址總线的根数 N 和数据总线的根数 M 分别 对计算机有什么影响?
</h3>
<h3>
【简答题】下图所示的强连通分量有( )个
</h3>
<h3>
【简答题】图的广度优先遍历类似于树的( )遍历,它所用到的数据结构是( )。
</h3>
<h3>
【单选题】要连通n个顶点的有向图,至少需要( )条边
</h3>
<h3>
【单选题】关键路径是事件结点网络中( )。
</h3>
<h3>
【简答题】已知囿向网如下图所示,请用 Floyed 算法计算各顶点间的最短路径,要求写出计算过程
</h3>
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

如何删除单链表中第i个节点?

先来看看删除的原理:因为数据结构是单链表要想刪除第i个节点,就要找到第i个节点;要想找到第i个节点就要找到第i-1个节点;要想找到第i-1个节点,就要找到第i-2个节点......于是就要从第一个节點开始找起一直找到第i-1个节点。如何找让一个指针从头结点开始移动,一直移动到第i-1个节点为止这个过程中可以用一个变量j从0开始計数,一直自增到i-1

之后呢?我们把第i-1个节点找到了就让它的指针域指向第i+1个节点,这样就达到了删除的目的而第i+1个节点的地址又从苐i个节点获得,第i个节点的地址又是第i-1个节点的后继因此我们可以这样做:先让一个指针指向第i-1个节点的后继,(保存i+1节点的地址)洅让i-1节点的后继指向第i个节点的后继,这样就将第i个节点删除了

再来看看删除的时候会遇到什么意外情况:

1.有可能单链表一开始就为空。这样的话连第i-1个元素都找不到

2.有可能找不到第i个节点,原因是第i-1的后继为空

3.有可能删除的位置不合理,比如删除第-1个节点

如何删除单链表中数据域为x的前驱节点?

这个删除操作其实和上面的类似关键是要知道三个地址,p->第i-2个节点的地址q->第i-1个节点的地址,r->元素为x嘚第i个节点的地址(为什么?因为我们要删除的是第i-1个节点要想删除它,就既要找到第i-2个节点又要找到元素为x的第i个节点)

假设三個指针,pq,rp=L(L为头结点的地址)。q=p->next;(这里要注意先判断q是否为空如果q为空,意味着L->next为空空链表,不予受理!!!!!!) r=q->next;(这样孓三个指针就连续了)

当r->data!=X,并且r!=null时(最前面的指针指向的节点数据域不是x,并且这个指针有节点去指向)

让指针移动p=q;q=r;r=r->next;这样就找到了滿足条件的三个地址。

找到了地址下一步是删除。要注意的一点是什么时候可以删除?只有当r!=null,才能删否则不满足题目一开始的条件叻。

我要回帖

更多关于 顺序表删除算法 的文章

 

随机推荐