线性表学习之顺序表示
2013-10-29 19:28
148 查看
原创博文,转载请注明出处
线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不要将其混淆。接下来我们学习:第一部分:线性表的顺序表示
顺序表最主要的特点是可以进行随机存取,即通过首地址和元素序号可以在O(1)的时间内找到指定的元素。顺序表的存储密度高,每个节点只存储数据元素,但是插入和删除需要移动大量元素。插入、删除、查找的时间复杂度为O(n)
综合应用 :
1、设计一个高效算法,将顺序表的所有元素逆置,要求算法的空间复杂度为O(1).
算法思想:扫描顺序表L的前半部分元素,对于元素L.data[i](0<=i<=L.length/2),将其余后半部分对应元素L.data[L.length-i-1]进行交换。
int M_Search(int A[ ],int B[ ],int n){ int s1=0,d1=n-1,m1,s2=0,d2=n-1,m2; while(s1!=d1&&s2!=d2){ m1=(s1+d1)/2; m2=(s2+d2)/2; if(A[m1]=B[m2]) return A[m1] if(A[m1]<B[m2]){ if ((s1+d1)/2==0){ s1=m1; d2=m2; } else{ s1=m1+1; d2=m2; } } else{ if((s1+d1)/2==0){ d1=m1; s2=m2; } else{ d1=m1; s2=m2+1; } } } return A[s1]<B[s2]?A[s1]:B[s2]; }
View Code
相关文章推荐
- 严蔚敏版数据结构学习笔记(1):线性表的顺序表示和实现
- 线性表顺序表示
- 数据结构之线性表(顺序表示)
- java学习笔记4>顺序线性表的实现及其内存分配
- 线性表的顺序表示和实现模板
- [学习笔记]线性表的顺序存储
- 数据结构--线性表的顺序表示(6~10)
- 《数据结构》线性表的顺序表示和实现
- 线性表的顺序表示和实现 - 数据结构
- 数据结构复习-线性表的顺序表示
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性代数学习点(五):向量运算规则的几何表示
- 数据结构学习----线性表的链式表示之升序排序的单链表(Java实现)
- 线性表的顺序表示及其基本操作
- 【数据结构】-线性表的顺序表示和实现
- 【练习】线性表的顺序表示实现
- 学习线性表的顺序表
- 数据结构学习笔记 --- 线性表 (顺序表)