数据结构的定义
Data Structure:杂乱无序的数据不能表达和交流信息 因此数据必须有结构,(D,R)数据结构是数据和数据关系的集合(data,relationship)
算法定义
算法:算法是有限的指令集 ,遵循指令流可以完成特定的功能,算法基于数据结构
算法的特定
1)有穷性
2)确定性
算法的评价标准
1)运行时间(Running time)
2)占用空间(Storage Space)
时间和空间是对立的关系
其他方面评价:正确性(Correctness) 可读性(Readability) 健壮性(Robustness):运行出Bug的次数
线性表
顺序表
顺序表:代表 数组
链表
单向链表
通过a1依次找到下面的元素
双向链表
循环链表
线性表-栈和队列
栈:可以把栈比作一个桶
查看C# 源码(https://referencesource.microsoft.com/)发现 Stack使用Object数组来实现的 , 栈顶元素是数组的最后一个元素
队列
查看C# 源码可以发现 队列也是用object[] 来实现的 实现代码已上传到我的下载中