线性表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性表相关的知识,希望对你有一定的参考价值。

递归练习

阶乘

字符串的逆序输出

回文数

求和

 

线性存储结构:
链式存储结构:
索引存储:
哈希表:
时间效率的计算:O(1)<O(log2(n))<O(n)<O(nlog2(n))<o(n^2)<O(n^3)<O(2^n)<0(n!)
递归时间效率的计算:

线性表:
#define  MaxSize 10

typedef struct Data
{
 ElemType data[MaxSize];
 int length;
}SQList;

//初始化
void InitList(SQList *&L,int n)
{
 SqList l=(SqList *)malloc(sizeof(SQList));
 l->length=0;
}

void IsEmpty(SQList *L);

void GetElem(SQList *l,int i,int &e) //i是逻辑地址,要转化为物理地址
{
 if(i<1||i>l->length) return 0;
 e=l->data[i-1];
 return;
}

int GetElem(SQList *l,int key)
{
 int j=0;
 while(j<l->length&&key!=l->data[j])j++;
 if(j>=l->length) return 0;
 return j+1;
}
//该算法的时间复杂度不仅与l->length有关,也与查找key的位置有关,最坏时间复杂度:O(l->length-i+1)
int ListInsert(SQList *&l,int key,int i)
{
 if(i<1||i>l->length) return 0;
 i--;
 for(int j=l->length;j>i;j--)
  l->data[j]=l->data[j-1];
 l->data[i]=key;
}
//同插入
int ListDelete(SQList *&l,int key)
{
 int pos=GetElem(l,key);
 if(!pos) return 0;
 for(int i=pos+1;i<l->length;i++)
  l->data[j-1]=l->data[j];
 l->lenght--;
 return 1;
}

void DisPlayList(SQLisy *l);

int GetListLength(DQList *l);

void DestroyList(SQList *&l)
{
 free(l);
 return;
}

以上是关于线性表的主要内容,如果未能解决你的问题,请参考以下文章

线性表—顺序表

线性表的概念与实现

线性表

数据结构-线性表

数据结构-线性表

线性表