如何实现递增有序线性表中查找与插入X操作

如何实现递增有序线性表中查找与插入X操作

线性表(a1,a2,a3,……,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法完成用最少时间在表中查找数值为X的元素,若找到将其与后继元素位置相交换,若找不到将其插入表中并使表中元素仍递增有序。 这道题重点信息是线性表有序,即数组有序,同时还要求用最少的时间查找表中值为X的元素。这时,我们可以考虑采用折……

  • c/c++
  • 2019-07-07 14:58:15
  • 2,574 次阅读

长度为n的顺序表L删除线性表中值为X的算法

长度为n的顺序表L删除线性表中值为X的算法

长度为n的顺序表L,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为X的数据元素。 要求时间复杂度为O(n),这里隐藏着条件,排序算法不能使用,因为排序中最低时间复杂度为O(nlogn),这是大于题目中所给的要求为O(n)的条件。因此,我们要把排序算法排除在外,转而采用其它的方法。 (1)删除……

  • c/c++
  • 2019-06-29 13:38:52
  • 2,630 次阅读

说明对于相同的逻辑结构,采用不同的存储方式会影响其操作效率

说明对于相同的逻辑结构,采用不同的存储方式会影响其操作效率

顺序表和链表都是线性表,这是他们的共同之处(逻辑结构相同),但它们的存储方式是不同的。那就看看在顺序表和链表中运算效率是怎样产生不同的? 线性表既可以采用顺序存储方式,也可以采用链式存储方式来实现。 (1)在顺序存储方式下,在线性表中插入和删除元素,平均要移动一半的元素,时间复杂度是O(n)。 事实上,就是……

  • c/c++
  • 2019-06-25 22:07:41
  • 2,605 次阅读