数据结构整理

1、数据结构

相互之间存在一种或多种特定关系的数据元素的集合

 

2、

逻辑结构:数据元素之间的相互关系。

物理结构:数据的逻辑结构在计算机中的存储形式。

 

3、

时间复杂度:描述了该算法的运行时间;

空间复杂度:是对一个算法在运行过程中临时占用存储空间大小的量度;

 

4、线性表存储结构

(1)用一段地址连续存储单元一次存储线性表的数据元素;

(2)线性表的结构体包括:存放元素的数组,线性表长度;

(3)线性表基本操作

 1 /*
 2 线性表操作
 3 */
 4 
 5 
 6 #define MaxSize 100
 7 #define OK      1
 8 #define ERROR   0
 9 
10 typedef int ElemType;
11 typedef int Status;
12 
13 //--线性表结构体--//
14 typedef struct
15 {
16     ElemType data[MaxSize];
17     int length;
18 }sqList;
19 
20 //--线性表查找--//
21 Status GetElem(sqList L,int i,ElemType *e)
22 {
23     if(i<0 || i>=L.length || L.length==0)
24         return ERROR;
25 
26     *e=data[i-1];
27 
28     return OK;
29 }
30 
31 //--线性表插入--//
32 Status InsertElem(sqList L,int i,ElemType e)
33 {
34     int j;
35 
36     if(i<1 || i>L.length || L.length=MaxSize)
37         return ERROR;
38 
39     if(i<L.length)
40     {
41         for(j=L.length;j>i-1;j--)
42             data[j]=data[j-1];
43     }
44 
45     data[i-1]=e;
46     L.length++;
47 
48     return OK;
49 }
50 
51 //--线性表删除--//
52 Status DeleteElem(sqList L,int i,ElemType *e)
53 {
54     int j;
55 
56     if(i<1 || i>L.length || L.length==0)
57         return ERROR;
58 
59     *e=data[i-1];
60 
61     for(j=i-1;j<L.length-2;j++)
62         data[j]=data[j+1];
63 
64     L.length--;
65 
66     return OK;
67 
68 }
View Code

 

5、链表

(1)一个节点包括:该节点的元素,下一个节点的指针;

 

posted @ 2015-09-17 12:47  如风轻逸  阅读(148)  评论(0编辑  收藏  举报