数据结构介绍和线性数据结构(备忘)

数据结构的定义

Data Structure:杂乱无序的数据不能表达和交流信息 因此数据必须有结构,(D,R)数据结构是数据和数据关系的集合(data,relationship)

 

算法定义

算法:算法是有限的指令集 ,遵循指令流可以完成特定的功能,算法基于数据结构

算法的特定  

1)有穷性

2)确定性

算法的评价标准

1)运行时间(Running time)

2)占用空间(Storage Space)

时间和空间是对立的关系

其他方面评价:正确性(Correctness) 可读性(Readability) 健壮性(Robustness):运行出Bug的次数

 

线性表

顺序表

顺序表:代表 数组

数据结构介绍和线性数据结构(备忘)_第1张图片

数据结构介绍和线性数据结构(备忘)_第2张图片

链表

单向链表

数据结构介绍和线性数据结构(备忘)_第3张图片

 

数据结构介绍和线性数据结构(备忘)_第4张图片

通过a1依次找到下面的元素

数据结构介绍和线性数据结构(备忘)_第5张图片

双向链表

数据结构介绍和线性数据结构(备忘)_第6张图片

循环链表

数据结构介绍和线性数据结构(备忘)_第7张图片

 

线性表-栈和队列

栈:可以把栈比作一个桶 

数据结构介绍和线性数据结构(备忘)_第8张图片

 

查看C# 源码(https://referencesource.microsoft.com/)发现 Stack使用Object数组来实现的 , 栈顶元素是数组的最后一个元素 

 

队列

查看C# 源码可以发现 队列也是用object[] 来实现的  实现代码已上传到我的下载中

数据结构介绍和线性数据结构(备忘)_第9张图片

 

你可能感兴趣的:(数据结构介绍和线性数据结构(备忘))