数据结构学习记录-1

来源:互联网 发布:电脑管家mac版 编辑:程序博客网 时间:2024/04/30 20:05

1.基本概念和术语。
数据:描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别的,并输入给计算机处理的符号集合。(PS:数据不只是包括数字,还包括图像,视频,声音等非数值类型)。
数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。
数据项:一个数据元素可以由若干数据项组成。
数据对象:性质相同的数据元素的集合,是数据的子集。
数据结构:是互相之间存在一种或多种特定关系的数据元素的集合。
逻辑结构:数据对象中数据元素的相互关系。分为集合,线性,树形,网状结构。
物理结构:数据的逻辑结构在计算机钟的存储形式。分为顺序结构和链式结构。
数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称。在C语言中分为原子类型和结构类型。
抽象数据类型(ADT):指一个数学模型及定义在该模型上的一组操作。

2.线性表
顺序表的基本操作实现简单,就不做记录了。
链式表的基本操作步骤及代码实现。
1./线性表的单链表存储结构/
typedef struct Node
{
ElemType data;
struct Node *next;
} Node;
typedef struct Node *LinkList;

2.单链表的读取
算法思路:
1.声明一个指针p指向第一个结点,初始化j从1开始。
2.当j<时,遍历整个链表,让p指针往后移动,不断指向下一结点,j累加1。
3.若链表末尾p为空,则说明第i个结点不存在。
4.否则查找成功,返回结点P的数据。

Status GetElem(LinkList L,int i){
LinkList p;
int j;
p = L->next;
j=1;
while(p && j

0 0
原创粉丝点击