在做项目的经验中发现数据结构与算法基本决定了一个程序员所能达到的上限,因为最新发现技术上遭遇瓶颈,无法有效提升最终是由于数据结构与算法的限制。所以想从头学习一遍数据结构与算法,该系列可以作为入门级教程。新手参考,大牛就不用浪费时间看了。
首先数据结构包含以下几种基本关系(逻辑结构):
集合--数据同属于一个集合
线性结构--一对一的关系
树形结构--一对多的关系
图形结构和网状结构--多对多的关系
数据在电脑中的存储结构有两种(存储结构):
1.顺序存储结构(数组) 2.链式存储结构(链表等)
算法的设计取决于数据的逻辑结构,算法的实现依赖于存储结构。再加上对数据的操作,就实现了最终功能。
数据结构的基本运算:创建 销毁 删除 插入 访问 修改 排序 查找
抽象数据类型:ADT=(D,S,P) 其中D:数据对象 S:关系 P:数据的操作
ADT<数据类型名> {
数据对象
数据关系
基本操作
}ADT<数据类型名>