全部知识点

第8201题

要求将算法1~6设计为3. 3. 4节定义的顺序表DynamicArrayList类的方法。

2.设计算法,将顺序表中存放的元素循环左移p位。即L(a_o,a_1,a_2···.a_p···..a_n-1变为L= (a_p·a_p+1····.a_n-1.a_o····a_p-1)。

第8202题

要求将算法1-6设计为3. 3. 4节定义的顺序表DynamicArrayList类的方法。

3.设计算法,将整数顺序表所有元素划分为两部分,其中前面部分的元素都小于等于x,后面部分的元素都大于x.

第8203题

要求将算法1~6设计为3. 3. 4节定义的顺序表DynamicArrayList类的方法。

4.设计尽可能高效的算法,删除顺序表中所有值为x的元素。

第8204题

要求将算法1~6设计为3. 3. 4节定义的顺序表DynamicArrayList类的方法。

5.设在某顺序表中,有一个整数在该表中的出现次数为奇数,其余整数的出现次数均为偶数。设计尽可能高效的算法,寻找出现次数为奇数的整数。例如:(1, 2. 5, 2,5. 1. 5)中,出现次数为奇数的整数为5

第8205题

要求将算法1-6设计为3. 3. 4节定义的顺序表DynamicArrayList类的方法。

6.设计算法,将有序顺序表中position位置的元素值替换为item,要求替换后的表仍保持有序。

第8206题

要求将算法7~13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

7.设计算法,定位单链表中间位置的结点。如线性表为(1, 2, 3. 4. 5),则中间位置元素为3;如线性表为(1, 2, 3, 4),则中间位置元素为2

第8207题

要求将算法7-13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

8.设计算法,判断单链表中的元素是否中心对称。例如,线性表(1, 2, 3, 2, 1)及(1.2. 2. 1)是中心对称的。

第8208题

要求将算法7-13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

9.设计算法,删除单链表中的所有冗余元素,并返回删除的元素个数。例如,原线性表为:(7. 2, 1, 7, 2, 3, 6. 3. 5),去除冗余之后的表为:(7, 2. 1, 3, 6, 5)

第8209题

要求将算法7~13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

10.设计算法找出单链表中最后一个满足n%k=0的结点,n表示从首结点开始的结点个数(未知),k是给定的整型常数。

第8210题

要求将算法7~13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

11.设计算法,将给定的单链表中所有值为偶数的结点放在值为奇数的结点前面。

第8211题

要求将算法7-13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

12.设计算法,将一个整数的质因数进行分解并按递减顺序生成一个有序单链表。如输入2100,则生成的单链表中的元素从头开始依次为(7, 5, 5, 3, 2, 2)

第8212题

要求将算法7~13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

13·设计算法,在有序单链表中插入值为x的元素,并保持表的有序性。

第8213题

算法14~19中、la、lb、Ic为各个单链表的头指针,直接用头指针表示和操作单链表。

14·假设链表la有两种可能的状态:它或者有尾部(蛇),或者它的最后一个结点的指针域指向链表前面的某个结点(蜗牛)。给出一个算法判断给定的链表la是蛇还是蜗牛。

第8214题

算法14~19中,la、lb、lc为各个单链表的头指针,直接用头指针表示和操作单链表。

15.la和lb分别为两个不带头结点的单链表,设计算法,从la中删除自i号元素起共len个结点,并将这len个结点插入到Ib中的i号结点之前。

第8215题

算法14~19中,la、lb、lc为各个单链表的头指针,直接用头指针表示和操作单链表。

16.设计算法,将一个单链表la分裂成奇偶两个单链表,偶数位序的结点留在原表,奇数位序的形成一个新表lb

第8216题

算法14~19中,la、lb、Ic为各个单链表的头指针,直接用头指针表示和操作单链表。17·设计算法,将两个递增有序单链表la和lb合并成一个递减有序表。

第8217题

算法14~19中,la、lb、lc为各个单链表的头指针,直接用头指针表示和操作单链表。

18.设计算法,求两个有序单链表la和lb表示的集合的差集Ic,Ic也为有序单链表。

第8218题

算法14~19中,la、lb、Ic为各个单链表的头指针,直接用头指针表示和操作单链表。19·设计算法,求两个有序单链表la和lb表示的集合的交集lc,Ic也为有序单链表。

第8219题

算法20中,la为双向链表的头指针,直接用头指针表示和操作双向链表。

20·设有一个双向链表la,每个结点中除有prior、data和next域外,还有一个访问频度freq域,在链表被使用之前,freq域初始化为零。每当在链表进行一次locate(x)运算后,令值为X的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的递减序列排列,以便使频繁访问的结点总是靠近表头。设计满足上述要求的locate(x)算法。

第8220题

算法21可直接使用Python的列表设计算法。

21·假设用一个线性表记录某地区每年的平均气温,以研究全球气候变暖的趋势。研究者发现,气温的变化是有一定的规律的。如:线性表L=(3, 4, 6, 4, 5, 7, 5)记录了连续7年的平均气温,从第一年开始,按照+1,+2,-2的规律变化,然后又按照+1,+2,-2这样的规律变化,我们称这个表中存在一个长度为3的温度变化环。又如:(1, 10, 13, 45, 48, 57, 60, 92,95, 104, 107)存在一个长度为4的环+9,+3,+32,+3.设计算法求解线性表中这个环的长度。